Microsoft Excel

Herbers Excel/VBA-Archiv

VBA lässt Erzeugung von Mappe nicht zu


Betrifft: VBA lässt Erzeugung von Mappe nicht zu von: David
Geschrieben am: 18.08.2016 11:44:35

Hallo zusammen,

Ich habe ein Makro geschrieben, dass mittels SendKeys ein Datenbankprogramm dazu bringt eine neue Excelmappe zu erzeugen.(Das Programm hat die Funktion aus ausgewählten Daten eine Excel-Liste zu erstellen) Diese soll dann auch gespeichert werden.
Der Zugriff auf das Programm klappt auch einwandfrei.
Aber die Mappe wird erst angezeigt, wenn das Makro beendet ist bzw. unterbrochen wird. D.h. die neue Mappe wird nicht gespeichert.

Ich hoffe mir kann jemand von euch weiterhelfen:)

Mein Code:

Sub Ausw()
    AppActivate "Programmname"
    SendKeys "^i"
    SendKeys "{TAB 2}"
    SendKeys "{DOWN}"
    SendKeys "{ENTER 2}", True
    AppActivate "Microsoft Excel"
    Workbooks(2).SaveAs Filename:="Pfad+Name"
End Sub

  

Betrifft: AW: VBA lässt Erzeugung von Mappe nicht zu von: fcs
Geschrieben am: 19.08.2016 20:08:18

Hallo david,

probiere es mal mit einer Verzögerung beim Speichern. Die Datenbank führt das Speichern der Excelmappe ja unabhängig von Excel aus, während Excel das Makro schon weiter ausführt.

Gruß
Franz

Sub Ausw()
    AppActivate "Programmname"
    SendKeys "^i"
    SendKeys "{TAB 2}"
    SendKeys "{DOWN}"
    SendKeys "{ENTER 2}", True
    AppActivate "Microsoft Excel"
    'Speichern mit Verzögerung starten
    Excel.Application.OnTime Earliesttime = Now + TimeSerial(0, 0, 10), Procedure:=prcSpeichern
End Sub

Sub prcSpeichern()
    If applicationworkbooks.Count > 1 Then
'    Activeworkbook.SaveAs Filename:="Pfad+Name"
        Workbooks(2).SaveAs Filename:="Pfad+Name"
    Else
        Excel.Application.OnTime Earliesttime = Now + TimeSerial(0, 0, 5), Procedure:= _
prcSpeichern
    End If
End Sub