Das Notes Forum

Lotus Notes / Domino 10 => ND10: Entwicklung => Thema gestartet von: udo187 am 29.06.20 - 14:32:55

Titel: Excel Vorlage mit Makro (*.XLSM)
Beitrag von: udo187 am 29.06.20 - 14:32:55
Hallo!

Ich habe eine Excel-Vorlage mit Makro, welches beim Starten der Excel-Datei Daten aus einer CSV-Datei aktualisiert.
Beide Dateien befinden sich in einem temporären Verzeichnis.

Wenn ich die Vorlage über das Dateisystem mittels Doppelklick öffne, wird das Makro problemlos ausgeführt und die Daten werden wie gewünscht aktualisiert.

Das ganze sollte nun über Notes laufen, die Vorlagendatei und der CSV-File werden wie gewünscht in ein temporäres Verzeichnis abgelegt,
die Vorlage wird auch geöffnet, aber das Excel-Makro wird nicht ausgeführt.
Wenn ich das Makro dann "manuell" starte, werden die Daten aktualisiert.

Was muss ich Notes mitgeben, dass das Makro ausgeführt wird?

Danke für die Hilfe!
Udo
Titel: Re: Excel Vorlage mit Makro (*.XLSM)
Beitrag von: jBubbleBoy am 29.06.20 - 18:32:18
versuch es mal damit:
Code
sub fileOpen(fileName As String)            
      Dim taskid
      taskid = Shell (|cmd /c start "" "| + filename +|"|)
End Sub
Titel: Re: Excel Vorlage mit Makro (*.XLSM)
Beitrag von: udo187 am 28.07.20 - 15:05:18
Danke Erik für deine Antwort! (Sorry für die späte Rückmeldung, war zwischenzeitlich woanders dran).

Mittels Shell funktioniert das (automatische) aktualisieren der Daten wie gewünscht bzw. wie beim manuellen Öffnen der Excel-Datei.

Das Problem ist dann aber die Weiterverarbeitung, da ich die aktualisierte Datei dann als .XLSX (also ohne Makro) speichere und automatisch ins Notes-Dokument anhängen möchte. Da fehlt mir dann das Objekt im Notes.

Aktuell verwende ich folgenden Code. Keine Ahnung, warum das Makro beim Öffnen über diesen Code nicht ausgeführt wird:

FullFileName_Vorlage = "C:\Temp\Vorlage.xlsm"
FullFileName_Final = "C:\Temp\Final.xlsx"

Set xlApp = CreateObject("Excel.Application")
xlApp.visible = true
Set xlBook = xlApp.Workbooks.Open (FullFileName_Vorlage )

-> Excel-Vorlage mit Makro wird geöffnet aber nicht aktualisiert??!

...weiterer Code zum Speichern & finale Datei anhängen
xlApp.DisplayAlerts = False
xlApp.ActiveWorkbook.SaveAs(FullFileName_Final ), 51 '51 = xlsx
xlApp.Quit   
Set xlApp = Nothing
Call RTItem_Add_Backend (FullFileName_Final)
...
   
Hat jemand einen Tipp für mich?
Danke & Gruß Udo
Titel: Re: Excel Vorlage mit Makro (*.XLSM)
Beitrag von: jBubbleBoy am 28.07.20 - 15:37:36
man kann mit 'Application.Run' Excel-Makro aufrufen, das schon mal versucht?
Titel: Re: Excel Vorlage mit Makro (*.XLSM)
Beitrag von: udo187 am 28.07.20 - 16:05:28
BINGO, genau das hat mir gefehlt!

Anscheinend führt Excel automatische Makros nicht aus, wenn es mit Notes geöffnet wird.
Dein Tipp mit Application.Run funktioniert einwandfrei!

DANKE!

Gruß
Udo