Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1380to1384
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

Absoluten Pfad finden

Absoluten Pfad finden
10.09.2014 13:09:25
Stephan
Hallo zusammen,
ich betrete relatives Neuland beim VBA-Programmieren, habe aber mein Makro fertigstellen können.
Und vor lauter Freude bekomme ich jetzt das letzte Problem nicht in den Griff.
Ich habe die Excel-Datei und eine .vbs Datei auf dem Desktop. Natürlich ist der absolute Pfad auf den unterschiedlichsten rechnern nicht gleich.
nun will ich realisieren, dass das Programm geöffnet wird, unabhängig in welchem Ordner es ist. Natürlich sind beide Dateien in ein und dem selben Ordner!
Hier mal meine .vbs-Datei und der Code dazu:
dim xlApp
set xlApp = CreateObject("Excel.Application")
xlApp.Visible=false
xlApp.Workbooks.Open(ThisWorkbook.Path & "\" & "Dauerkarten1415.xlsm")
xlApp.Run "Dauerkarten"
Ich gehe davon aus, dass Meine Quelle "ThisWorkbook.Path" nicht stimmt, aber genau weiß ich das leider nicht.
Wer kann mir Helfen?
Vielen Dank schonmal

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Absoluten Pfad finden
10.09.2014 13:17:15
Daniel
Hi
warum machst du eine neue Excelinstanz auf?
das ist nicht erforderlich.
wenn du mit RUN "Makroname" ein Makro aus einer anderen Datei startent willst, dann musst du den Dateinamen beim Aufruf mit angeben: RUN"'Dateiname'!Makroname"
probiere mal folgenden Code:
Workbooks.Open ThisWorkbook.Path & "\" & "Dauerkarten1415.xlsm"
Application.Run "'Dauerkarten1415.xlsm'!Dauerkarten"
Gruß Daniel

AW: Absoluten Pfad finden
10.09.2014 13:26:35
Stephan
Hallo Daniel,
ich hab den Code so auch nur im Internet gefunden. habe zwar verstanden was die einzelnen zeilen aussagen aber weiter komme ich nicht.
In dem Makro sind Userforms programmiert und ich will ja die Excel-Datei mit öffnen, weil ich durch die UserForms was in der Tabelle ausfülle und da ich nicht will, dass die Tabelle mit aufpoppt habe ich den Code so genommen.
Deinen Code habe ich eingefügt, leider funktioniert er nicht. Auch hier sagt er mir
Fehler: Quelle erforderlich "ThisWorkbook"

Anzeige
AW: Absoluten Pfad finden
10.09.2014 13:41:01
Daniel
Hi
THISWORKBOOK ist die Datei in der sich der Code befindet.
damit das funktioniert und die Datei auch einen Dateipfad hat, musst du erstmal speichern.
Gruß Daniel

AW: Absoluten Pfad finden
10.09.2014 13:48:30
Stephan
Hi
ja das habe ich natürlich gemacht. Hilft vielleicht weiter, dass die Datei
dauerkarten.vbs
auf dem Desktop nur dazu da ist, das Macro in der Excel-Tabelle
dauerkarten1415.xlsm
zu öffenn und zwar so, dass die Excel-Datei nicht aufpoppt. Vielleicht bin ich ja mit meinem Code auf dem ganz falschen weg...
Gruß Stephan

AW: Absoluten Pfad finden
10.09.2014 13:56:05
Daniel
Hi
dann steht das Makro nicht in einer Excel-Datei, sondern in einem VBS-Script.
Damit kenne ich mich leider nicht aus und kann dir nicht sagen, wie du den Pfad des VBS-Scripts ermittelst, vermutlich auf ähnliche weise, aber mit anderer Bezeichnung.
schau mal, was dir die Intellisense anbietet, wenn "THIS" eingibst und dann ALT+LEER tippst.
dann müssten die möglichen Befehle und Objekte gelistet werden.
in Excel heißt die Datei "ThisWorkbook", in Word "ThisDocument", vermutlich heißt es in VBS dann ähnlich.
wenn du mit VBS arbeitest dann musst du natürlich auch erst die Excelapplication erstellen, so wie du es in deinem Code ursprünglich vorhattest.
ich bin davon ausgegangen, dass der Code in einer Exceldatei steht.
Gruß Daniel

Anzeige
AW: Absoluten Pfad finden
10.09.2014 15:44:42
stephan
Hi,
trotzdem vielen Dank. hab leider noch keine Lösung gefunden, aber ich bin optimistisch.

AW: Besser in einen VBS-Forum fragen.. owt
10.09.2014 16:06:33
Daniel
Gruß Daniel

VBS oder VBA?
10.09.2014 13:44:35
Luc:-?
Hallo, Stephan;
zwischen VBScript und VB for Applications besteht ein Unterschied! Was ist es nun?
Gruß, Luc :-?

AW: Absoluten Pfad finden
10.09.2014 23:07:36
Ewald
Hallo,
normalerweise geht es anders herum, mit der vbs wird die Datei mit der Userform gestartet und von dort wird dann die Datei geöffnet.
Üblich ist auch bei Weitergabe von vbs und Exceldatei den Installationsort entweder vorzugeben oder eine Exe zu erstellen,welche die Dateien dort installiert.
Hier mal ein Script wie ich es selber verwendet habe.
Dim vntVersion, vntPath, vntShellObject
Set vntShellObject = WScript.CreateObject("WScript.Shell")
On Error Resume Next
For vntVersion = 15 To 9 Step -1 'Excel 2013 - Excel 2000
vntPath = vntShellObject.RegRead("HKLM\SOFTWARE\Microsoft\Office\" & _
vntVersion & ".0" & "\Excel\InstallRoot\Path")
If vntPath  "" Then Exit For
Next
If vntPath  "" Then
Application.Screenupdating = False
If vntversion > 11 Then
vntShellObject.Run """" & vntPath & "Excel.exe" & """" & " " & """" & _
"C:\WM2014\StartWM.xlsm" & """", 0, False
Else
MsgBox "Alte Dateiformate (xls) werden aus Sicherheitsgründen nicht mehr unterstützt"
End If
Else
MsgBox "Kein Excel installiert", 16, "Fehlende Installation"
End If
Application.Screenupdating = True
Set vntShellObject = Nothing
gruss Ewald

Anzeige
AW: Absoluten Pfad finden
12.09.2014 10:31:45
Anton
Hallo Stephan,
wenn ich dich richtig verstanden habe, dann so:
absPfad = WScript.ScriptFullName
pos = InstrRev(absPfad,"\")
dim xlApp
set xlApp = CreateObject("Excel.Application")
xlApp.Visible=false
xlApp.Workbooks.Open(left(absPfad,pos) & "Dauerkarten1415.xlsm")
xlApp.Run "Dauerkarten"

mfg Anton

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige