Autor
|
Thema: CATIAs Skriptengine versteht Office Parametersyntax nicht (754 mal gelesen)
|
WolfgangKrenz Mitglied
Beiträge: 11 Registriert: 23.05.2005 CATIA V512B12 SPK6 HF16 CATIA V514B14 SPK5 HF1 Windows Script Host 5.6 (kein Visual Basic) - Pentium 4 3.60 GHz 3,12 GB RAM WinXP SP1
|
erstellt am: 14. Jun. 2005 16:26 <-- editieren / zitieren --> Unities abgeben:
Hallo Experten, Ich habe z.Z. das Problem, das ich auf verschiedene Officefunktionen zuzugreifen habe, denen ab nicht die erforderlichen Parameter übergeben kann, da CATIA sich weigert Paramter der Form Objekt.Methode( ParameterName := ParameterWert ) zu übergeben. je nach Variante (Paramter in Klammern oder ohne) Error: ')' expected Error: Anweisungsende erwartet Jetzt zu meiner Frage: Kann ich die Parameter irgendwie in einer CATIA kompatiblen Syntax übergeben? Gruss Wolfgang Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Steffen Hohmann Mitglied
Beiträge: 446 Registriert: 06.03.2002
|
erstellt am: 14. Jun. 2005 17:05 <-- editieren / zitieren --> Unities abgeben: Nur für WolfgangKrenz
|
WolfgangKrenz Mitglied
Beiträge: 11 Registriert: 23.05.2005 CATIA V512B12 SPK6 HF16 CATIA V514B14 SPK5 HF1 Windows Script Host 5.6 (kein Visual Basic) - Pentium 4 3.60 GHz 3,12 GB RAM WinXP SP1
|
erstellt am: 14. Jun. 2005 17:25 <-- editieren / zitieren --> Unities abgeben:
Language = "VBScript" Sub CATMain() Set objExcel = CreateObject("Excel.Application") newWb = objExcel.Workbooks.Add(Template:=xlWBATWorksheet) With newWb.CustomDocumentProperties .Add name := "Related", linkToContent := False, _ type := msoPropertyTypeBoolean, value := False End With newWb.Close(SaveChanges:=True) ' objWorkbook.SaveAs("test.xls") objExcel.Quit() End Sub ___________________________ All diese tollen Dinge funktionieren bei mir nicht [Diese Nachricht wurde von WolfgangKrenz am 14. Jun. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Steffen Hohmann Mitglied
Beiträge: 446 Registriert: 06.03.2002
|
erstellt am: 14. Jun. 2005 17:44 <-- editieren / zitieren --> Unities abgeben: Nur für WolfgangKrenz
Hallo Wolfgang, das ist ganz einfach. Du mußt nur den Parameternamen weglassen. z.B. Set newWb = objExcel.Workbooks.Add(xlWBATWorksheet) newWb.Close True Allgemein kann man sagen, die Syntax entspricht dem VBA. Gruß Steffen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
WolfgangKrenz Mitglied
Beiträge: 11 Registriert: 23.05.2005 CATIA V512B12 SPK6 HF16 CATIA V514B14 SPK5 HF1 Windows Script Host 5.6 (kein Visual Basic) - Pentium 4 3.60 GHz 3,12 GB RAM WinXP SP1
|
erstellt am: 14. Jun. 2005 18:03 <-- editieren / zitieren --> Unities abgeben:
Hallo Steffen, Leider ist es nciht ganz so einfach. Wenn man beispielsweise ein neues Sheet hinzufügt braucht man entweder den Parameter Before oder den Parameter After. Wenn man da einfach nur den Wert übergeben würde, wüsste Excel nicht was es tun soll. Abgesehen davon klappt die nur-Wert-Übergabe bei mir auch bei sachen wie wb.Close True nicht. Ich bin irgendwie am Ende meiner Weisheit; ich bin seit Tagen nur am Workarounds schreiben, weil bei mir so viele dokumentierte Funktionen nicht funktionieren. z.B. hat das AnnotatedView Object in R14 eine Property BehaviorMode lt. Doku. Im Einsatz kennt er dann diese Property aber nicht. Gruss und schönen Feierabend Wolfgang Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Steffen Hohmann Mitglied
Beiträge: 446 Registriert: 06.03.2002
|
erstellt am: 14. Jun. 2005 18:09 <-- editieren / zitieren --> Unities abgeben: Nur für WolfgangKrenz
Hallo Wolfgang, wenn z.B. ein Sheet erzeugt wird, und es optionale Parameter gibt, so müssen diese auch durch Kommas freigehalten werden. z.B. objExcel.ActiveWorkbook.Sheets.Add , , , xlWorksheet ich mache jetzt erstmal Feierabend. Morgen sehen wir weiter.
Gruß Steffen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Axel.Strasser Ehrenmitglied V.I.P. h.c. Selbstständig im Bereich PLM/CAx
Beiträge: 4107 Registriert: 12.03.2001 Früher war vieles gut, und das wäre es heute immer noch, wenn man die Finger davon gelassen hätte!
|
erstellt am: 14. Jun. 2005 18:32 <-- editieren / zitieren --> Unities abgeben: Nur für WolfgangKrenz
Hallo Wolfgang vielleicht hilft Dir das weiter: Set objXL = WScript.CreateObject("Excel.Application") Set objWB = objXL.Workbooks objXL.Visible = False objWB.Add (xlWBATWorksheet) Set objWS = objXL.ActiveWorkBook.ActiveSheet objWS.Name = "Delete" ' Eine neue Arbeitsmappe muss zumindest ein Blatt enthalten Set objWS = objXL.ActiveWorkBook.Worksheets.Add ' Tabellen mit Werten erzeugen With objWS .Name = ProdShort(i) .Columns(1).ColumnWidth = 15 .Columns(1).NumberFormat = "dd/mm/yy hh:mm" .Columns(2).ColumnWidth = 15 .Columns(1).HorizontalAlignment = xlCenter .Columns(2).HorizontalAlignment = xlCenter .Cells(1,1).Value = ProdName(i) .Cells(1,1).HorizontalAlignment = xlLeft .Cells(2,1).Value = "Datum / Zeit" .Cells(2,2).Value = "Anzahl User" End With
Axel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |