Ecrire sur un Fichier excel depuis le VBA SolidWorks?

Bien bonjour a tous,

Lorsque je dessine une pièce simple ( sans gros assemblage ), j'utilise actuellement une macro qui enregistre la pièce dans un nouveau dossier creé par la macro, elle y enregistre également une mise en plan de cette pièce et un PDF de cette mise en plan.. Maintenant jai un répertoire Excel dans lequel j'ai un suivi de tous mes projets en cours. J'aimerai que cette macro remplisse également ce répertoire avec le nom, la date, un lien hypertexte du chemin...

Ma première question est donc: Quel code puis-je utiliser ouvrir excel et fichier excel?

Et la deuxieme : Quel code puis-je utiliser pour simplement écrire dans une cellule d'un fichier ecxel ( à partir du VBA solidworks )?

Puis, je pense que je pourrais me débrouiller pour la suite..

Merci d'avance!

Bonne journée

 

Bonjour,

Regarde dans l'exemple SUIVANT, tu devrais y trouver ce que tu veux.

Cordialement,

Bonjour, je n'ai pas vu ce qui m'intéresse dans votre exemple et jai trouver très peu d'exemple de communication SolidWorks --> Excel, mais depuis ce matin, j'ai reussi a bien avancer sur la question .

Pour ceux qui cherche une solution a un problème similaire :

'Pour ouvrir mon fichier excel :

Set App = CreateObject("shell.Application")

MonFichier = "C:\Users\sstagemaint\Desktop\SUIVI PROJETS.xlsm"
   App.Open (MonFichier)

 

'Objets pour les commandes dans le fichier excel:

   Dim Workbook As Object
   Dim Sheet As Object

   Dim exApp As Object


   Set exApp = CreateObject("Excel.Application")                                  ' Selection de l'application Ecxel
   Set Workbook = exApp.Workbooks("SUIVI PROJETS.xlsm")            ' Selection du Classeur dans l'application
   Set Sheet = Workbook.sheets("Feuil1")                                              ' Selection de la feuille dans le classeur

 

' Selectionner la cellule C8  depuis le Vba SolidWorks:

Sheet.Range("C8").Select                         ' Selection de la cellule dans la Feuille    

 

 

Voila, Jai finalement resolu le problème plus facilement que je ne pensait.

Merci quand meme pour la réponse.

Cordialement

Ben pourtant dans mon exemple il y a tout ce qu'il faut et après nettoyage de ce qui ne sert pas dans ton cas cela donne par exemple :

Sub OpenExcel()

Dim xlApp As Excel.Application
Set xlApp = New Excel.Application
Dim wbk As Excel.Workbook
Dim sht As Excel.Worksheet

With xlApp
    .Visible = True
    Set wbk = .Workbooks.Add  ==> pour ouvrir un nouveau classeur (*)
    'Set wbk = .Workbooks.Open("C:\monfichier.xls") ==> pour ouvrir un classeur existant (*)
    Set sht = wbk.ActiveSheet
End With

With sht
    .Range("A1").Value = "Cellule 1"
    .Range("A2").Value = "Cellule 2"
    .Range("A3").Value = "Cellule 3"
    .Range("A4").Value = "Cellule 4"
    .Range("A5").Value = "Cellule 5"
    .Range("A6").Value = "Cellule 6"
End With

End Sub

(*) Mettre une des lignes suivant ce que tu veux faire

Et bien sûr, il ne faut pas oublier de mettre la référence à "Microsoft Excel xx.0 Object Library".

Cordialement,