Autor
|
Thema: Excel- Werte Übergeben (2730 mal gelesen)
|
shorty10 Mitglied Konstrukteur, Masch. Bau
Beiträge: 16 Registriert: 05.05.2006
|
erstellt am: 05. Mai. 2006 09:30 <-- editieren / zitieren --> Unities abgeben:
Tag, zusammen. Habe gerade ein Projekt, indem ich eine Maschine mit einer Excel- konstruktionstabelle verknüpft habe, die man dann nach belieben verändern kann. Dort war es für mich einfacher, Werte zu überprüfen und zurückzugeben, da ich mit Programmiersprachen schon lange nicht mehr gearbeitet habe. Ich benötige deshalb einige Tipps, wie ein Catia- Makro aussehen könnte, mit dem ich aus gewissen Excel- Zeilen Werte auslese und diese in meine Bauteilbenennungen einbauen kann. Habe zwar schon mit einigen Programmierbeispielen aus diesem Forum rumprobiert, aber richtig funktionieren tuts nicht. Für Anregungen bin ich sehr dankbar, Grüße, Shorty Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
crash Mitglied
Beiträge: 158 Registriert: 12.06.2004
|
erstellt am: 05. Mai. 2006 10:35 <-- editieren / zitieren --> Unities abgeben: Nur für shorty10
Hallo, versuch mal folgendes Beispiel gruss crash Achtung wenn du Excel aufmachst und mittendrin abbrichst kann es sein, das der excel prozess "haengen" bleibt. Dann diesen im Taskmanager loeschen!!! Set Ex = Nothing On Error Resume Next Set Ex = GetObject(, "Excel.Application") On Error GoTo 0 If Ex Is Nothing Then Set Ex = CreateObject("Excel.Application") Set ExcelSheet = CreateObject("Excel.Sheet") 'oder hier entsprechend des Get Befehl zum lesen verwenden 'ExcelSheet.application.Visible = True wenn es sichtbar sein soll 'Zelle beschreiben ExcelSheet.ActiveSheet.Cells(Spalte1, Zeile1).value = Textstring 'Telle lesen Textstring = ExcelSheet.ActiveSheet.Cells(Spalte1, Zeile1).value sfilepath = "C:\TEMP\TEST.XLS" ExcelSheet.SaveAs sFilePath 'Option Speichern ExcelSheet.Close Ex.application.quit Set Ex = Nothing Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
shorty10 Mitglied Konstrukteur, Masch. Bau
Beiträge: 16 Registriert: 05.05.2006
|
erstellt am: 05. Mai. 2006 10:58 <-- editieren / zitieren --> Unities abgeben:
Danke für die Antwort !! Leider habe ich damit noch ein Problemchen. Es kommt eine Fehlermeldung in der Zeile : ExcelSheet.ActiveSheet.Cells(Spalte1, Zeile1).value = Textstring mit der Meldung eines unbekannten Laufzeitfehlers. Was tun ? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tomtom1972 Mitglied dipl ing maschinenbau
Beiträge: 605 Registriert: 22.03.2005 NVidia Quadro K4000 Intel Xeon E5-1620, 64GB RAM Windows10 64bit R30 <= CATIA V5 > =R19
|
erstellt am: 05. Mai. 2006 11:02 <-- editieren / zitieren --> Unities abgeben: Nur für shorty10
Hallo, welche Meldung genau? Vieleicht liegts daran: Teststring ist ein Object, welches einen String beinhaltet. D.H. irgendwo musst du einmal folgende zeile (oder so ähnlich) im Script haben: Teststring = "Dies ist ein Beispiel" oder statt ExcelSheet.ActiveSheet.Cells(Spalte1, Zeile1).value = Textstring eben ExcelSheet.ActiveSheet.Cells(Spalte1, Zeile1).value = "Dies ist ein Beispiel" nehmen. Funktionierts jetzt? Gruss TomTom ------------------ tomtom1972 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
shorty10 Mitglied Konstrukteur, Masch. Bau
Beiträge: 16 Registriert: 05.05.2006
|
erstellt am: 05. Mai. 2006 11:22 <-- editieren / zitieren --> Unities abgeben:
Hallo. Habe die Vorschläge probiert. Löpp noch nicht, und diese Fehlermeldung erscheint: --------------------------------------------------------------------- CNEXT - CATScriptErrorMessages - ScriptingERR_1002 --------------------------- Das Script "Makro1.catvbs" ausführen. Die Scriptmaschine für MS VBScript hat den folgenden Fehler gemeldet: Quelle: Laufzeitfehler in Microsoft VBScript Beschreibung: Unbekannter Laufzeitfehler Linie:12 Spalte: 0 Weitere Informationen im Sprachenreferenzhandbuch oder der Dokumentation zu V5 Automation API. --------------------------------------------------------------------- Danke für die Hilfe, Mfg, Shorty Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
shorty10 Mitglied Konstrukteur, Masch. Bau
Beiträge: 16 Registriert: 05.05.2006
|
erstellt am: 05. Mai. 2006 11:50 <-- editieren / zitieren --> Unities abgeben:
Also, einen Wert aus Excel auslesen und wiedergeben klappt ja: --------------------------------------------------------------------- Sub CATMain() Set Excel = CreateObject("Excel.Application") Excel.Visible = True Excel.Workbooks.Open SetzePfad & "N:\austausch\alökes\Makroübung\Bolzentabelle.xls" Excel.Sheets(1).Activate Excel.Sheets("Tabelle1").Select Value = Excel.Sheets("Tabelle1").Range("A2").Value Excel.Quit MsgBox value End Sub -------------------------------------------------------------------- Und wie baue ich diesen in meine Teilebenennung ein ?? Grüße, Andreas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |