Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1880to1884
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Application.Run

Application.Run
17.05.2022 21:16:34
Benedikt
Guten Abend zusammen
Ich sollte ein Makro in einer externen Datei ansprechen
Das Macro ist in einer Vorlage, d.h der Name der Datei mit dem Macro ist nach dem öffnen nicht bekannt zB. "Rechnung1". Sowohl die externe Datei wie auch die Vorlage sind in dem Moment geöffnet.
Gibt es eine Lösung für diese Situation?
Danke für Hilfe

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Application.Run
17.05.2022 21:53:07
Fennek
Hallo,
eine Vorlage kann man an der fehlenden Endung erkennen. Um einen Code von einer externen Datei in einer Vorlage aufzurufen:

Sub T_1()  'in externer Datei
For i = 1 To Workbooks.Count
Debug.Print Workbooks(i).Name
If InStr(1, Workbooks(i).Name, ".") = 0 Then Application.Run (Workbooks(i).Name & "!Vorlage")
Next i
End Sub
'externe Mappe: Mappe1.xlsm
'Vorlage-Datei: iVorlage1
mfg
AW: Application.Run
17.05.2022 22:18:31
Benedikt
Guten Abend Fennek
Vielen Dank für deine Zeit und für deinen Lösungsvorschlag.
Leider bekomme ich Laufzeitfehler '1004' Das Makro 'RechnungR1!Test' kann nicht ausgeführt werden.
Wie Du gesagt hast, Code in die externe Arbeitsmappe - Makroname geändert
Anzeige
AW: Application.Run
18.05.2022 08:11:53
Fennek
Hallo Benedikt,
es ist sehr leicht sich mit den Bezügen zu verheddern. Wenn Du möglichst kleine und anonymisierte Beispieldateien hochlädst, sehe ich es mir an.
Da beim Upload der Datei-Name ersetzt wird, musst Du die Original-Namen nennen. Es ist auch wichtig, wie die Vorlage-Datei geöffnet wird.
mfg
AW: Application.Run
18.05.2022 20:00:55
Benedikt
Guten Abend Fennek
Sorry für die späte Rückmeldung. Gerne nehme ich deine dargebotene Hand an.
Nur der Upload schränkt die Sache sehr ein:
Ich musste die Datei Rechnung.xltm auf .xlsm ändern da .xltm nicht geladen werden kann. ebenfalls musste ich das zweite Arbeitsblatt canceln da 300KB überschritten waren
Im Anhang die externe Datei Mappe1.xlsm (153136)und die Datei Rechnung.xlsm (153137) welche wieder als .xltm gespeichert werden muss.
https://www.herber.de/bbs/user/153136.xlsm
https://www.herber.de/bbs/user/153137.xlsm
Deine Hilfe erachte ich nicht als selbstverständlich, vielen Dank
Anzeige
AW: Application.Run
18.05.2022 21:06:14
Fennek
Hallo,
zuerst gab es einen heftigen Schreck: der Button in der Voralge starte meine noch vorhanden Beispieldatei, ohne dass ich den Code dafür verstanden habe. Das darf aus sicherheitsgründen nicht sein.
Da ich keine Daten an die Vorlage "Rechnung.xltm" übergeben konnte, war nur ein teilweiser Test möglich:
Die Vorlagedatei wird nach den Voreinstellungen automatisch in "C:\users\[user]\Documents\Benutzerdefinierte Office-Vorlagen" gespeichert. Dann geht der Aufruf aus "Mappe.xlsm"-UserForm:

Private Sub CommandButton4_Click()
Dim WB As Workbook
Set WB = Workbooks.Add("rechnung")
'hier die Übergabe der zu druckenden Daten
Application.Run WB.Name & "!UpdateQRBill"
End Sub
Die Übergabe der Daten muss noch ergänzt werden.
mfg bzw Grüzi
Anzeige
AW: Application.Run
18.05.2022 22:34:10
Benedikt
Guten Abend Fennek
Sorry mit dem Button......
Wieder vielen Dank, aber das will so nicht gehen, wieder Laufzeitfehler diesmal sucht er eine rechnung xlsx im Laufwerk O:
Ich versuche das noch einmal zu erklären:
Der Nutzer erhält eine Vorlage die je nach Kunde individuell ist, also kann es musterag1 oder Müller1 sein, also der Name ist unterschiedlich (ca. 20 Vorlagen).
Auf dieser Vorlage sind diverse Buttons, alle Macros und UF sind in der (ausgeblendeten) externen Datei Mappe1.xlsm hinterlegt.
Wenn der Benutzer den Button Drucken drückt wird die UF aus der externen Datei gestartet und es kann die Anzahl Printouts gewählt werden, die Seitenanzahl ist automatisch definiert, funzt einwandfrei. In dieser UF sollte jetzt noch Button 4 aktiviert werden der das Macro QRBill welches in der Vorlage hinterlegt ist startet.
Und genau hier ist das ansprechen der "unbekannten" Vorlage gefragt
Oder besteht die Möglichkeit das Macro QRBill in der externen Datei zu hinterlegen und es generiert den QR Code in der Mustervorlage?
Ansonsten werde ich halt den QRCode aus der Vorlage Drucken, so läuft es ist aber nicht die eleganteste Lösung.
Jedenfalls danke für deine Unterstützung
Anzeige
AW: Application.Run
19.05.2022 08:45:07
Fennek
Hallo,
wie wählt der User eine dieser 20 Vorlagen aus?
mfg
AW: Application.Run
19.05.2022 09:02:46
Benedikt
Guten Morgen Fennek
Das geschieht via Dialogfeld
nachfolgender Code ist hinterlegt:

Private Sub ListBox1_Click() '2020 ready
Workbooks.Add Template:="O:\Hugo 2020\Dateien\" & ListBox1.Text & "R.xlsm"
Unload Me
Dim RechNum
Open "O:\Hugo 2020\Dateien\Rechnungsnummer.ini" For Input As #1
RechNum = Input(6, #1)
NumRech = RechNum
Close #1
Open "O:\Hugo 2020\Dateien\Rechnungsnummer.ini" For Output As #1
Print #1, RechNum + 1
Close #1
Worksheets("Rechnung").Range("D10").Value = NumRech
Range("Datum").Value = Date
End Sub

Private Sub UserForm_Initialize() '2020 ready
Dim FName$, FCount%
Dim itmX As ListBox
Dim I As Integer
Dim FileArray() As String
x = 6
FName = Dir("O:\Hugo 2020\Dateien\" + "*r.xlsm")
ListBox1.Clear
Do While FName  ""
FCount = FCount + 1
ReDim Preserve FileArray(1 To FCount)
FileArray(FCount) = FName
FName = Dir()
Loop
For I = 1 To FCount
ListBox1.AddItem Left(FileArray(I), Len(FileArray(I)) - x)
ListBox1.TextColumn = 1
Next I
End Sub

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige