Netzer82 Geschrieben 12. März 2003 Geschrieben 12. März 2003 Hi, ich möchte aus einem Word Makro eine Exceltabelle aufrufen, darin einen Wert generieren und diesen dann an Word, bzw. in eine Variable übergeben. Später dann sollen mehrere Variablen von Word an Excel übergeben werden und in die Tabelle geschrieben werden. Welchen Befehl muß ich benutzen um die Exceltabelle (ein einzelnes Arbeitsblatt) aufzurufen ? Zitieren
Wasi Geschrieben 13. März 2003 Geschrieben 13. März 2003 Ich hoffe das Beispiel ist aufschlussreich genug!! Der Code stammt aus einem Word-Makro, öffnet die Datei c:\Book1.xls, setzt im Sheet2 die Zelle A1 auf den Wert 12 und macht Excel wieder zu (falls es nicht vorher auf war). Sub ExcelWorkbookRemoting() ' Objektdeklarationen Dim ExcelSheet As Object Dim ExcelCell As Object Dim bExcelRuns As Boolean ' nehmen wir einfach mal an, excel lief schon bExcelRuns = True ' im Fehlerfall machen wir einfach weiter On Error Resume Next ' holen wir uns excel Set ExcelSheet = GetObject(, "Excel.Application") ' war's wirklich schon da? If Err.Number <> 0 Then ' Nein -> dann machen wir's auch wieder zu! bExcelRuns = False ' Fehler löschen Err.Clear End If ' jetzt holen wir uns das workbook Set ExcelSheet = GetObject("C:\Book1.xls") ' gibt's das? If Err.Number <> 0 Then ' Nein!!, Na so was! Err.Clear ' Das sagen wir dem user!! MsgBox "Document does not exist!" ' Und beenden uns Exit Sub End If ' Das ist wichtig, sonst ist das workbook beim nächsten öffnen ' versteckt (kann über [window->unhide] wieder sichtbar gemacht werden ' [Fenster->???] auf Deutsch ExcelSheet.Parent.Windows("Book1.xls").Visible = True ' Holen wir uns ne Zelle Set ExcelCell = ExcelSheet.Worksheets("Sheet2").Range("A1") ' Ändern deren Wert ExcelCell.Value = 12 ' Speichern alles ab1 ExcelSheet.Save ' wenn Excel schon lief, dann lassen wir's auf, sonst machen wir's zu If Not bExcelRuns Then ExcelSheet.Application.Quit ' variable freigeben! Set ExcelSheet = Nothing Set ExcelCell = Nothing End Sub Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.