Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
924to928
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
924to928
924to928
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Dateinamen in code einsetzen

Dateinamen in code einsetzen
16.11.2007 09:48:00
volker
Hai Excels,
mit folgendem makro wird eine Verknüpfung erstellt.
Wie kann ich den Dateinamen der aktuellen Datei übernehmen?
Meine aktueller Speicherpfad steht in Zelle B2. Wie muss das makro aussehen wenn es mit Range erweitert wird.
angenommen die Mappe heißt "Köln4711" dann soll meine Verknüpfung eben auch so heissen.
Vielen Dank Gruss volker

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

Betreff
Datum
Anwender
Anzeige
AW: Dateinamen in code einsetzen
16.11.2007 09:53:21
Hajo_Zi
Hallo Volker,
ich sehe kein Code! falls nur ein Punkt im Dateinamen
MsgBox Left(ThisWorkbook.name, InStr(ThisWorkbook.name, ".") - 1)
ansonsten Instrev
Meine Mappen haben immer einen Dateityp.

AW: Dateinamen in code einsetzen
16.11.2007 09:58:26
volker
Hallo Hajo,
ei ich sehe auch keinen Code habs vergessen (Dateiendung ist.xls oder .xlsm, wir haben teilw. neues Office und alte WB's)
Hier ist er jetzt. Danke volker

Sub CreateFileShortcut()
Dim objWSHShell As Object
Dim objWSHShortcut As Object
Set objWSHShell = CreateObject("WScript.Shell")
Set objWSHShortcut = objWSHShell.CreateShortcut("\\Server04\av\SharePoint_Beschlagliste\ _
Raisch_Verknüpfungen\Datei_suchen_Test.lnk")
'obige Zeile = Pfad der gespeicherten Verknüpfung und Dateinamen
objWSHShortcut.TargetPath = "C:\Dokumente und Einstellungen\v.weil.WERK-PGW\Desktop\ _
Datei_suchen_Test.xls"
'obige Zeile = Pfad der gespeicherten Datei und Dateinamen
objWSHShortcut.Description = "Datei_suchen_Test.xls"
'obige Zeile = ?
objWSHShortcut.WorkingDirectory = "C:\Windows"
objWSHShortcut.WindowStyle = vbNormalFocus
objWSHShortcut.Save
Set objWSHShortcut = Nothing
Set objWSHShell = Nothing
End Sub


Anzeige
AW: Dateinamen in code einsetzen
16.11.2007 10:01:00
Hajo_Zi
Hallo Volker,
geht es bei dem Code jetzt um ein anderes Problem. Mir ist eigentlich in Erinnerung das es darum ging eine Datei unter einem neuen Namen zu speichern? Warum sollte ich sonst den Dateinamen auslesen?

AW: Dateinamen in code einsetzen
16.11.2007 11:21:13
volker
Hallo Hajo,
den Code hab ich vom Forum und eben mal meine Ordner und Dateinamen eingetragen.
Jedoch ist es so, dass wenn das makro startet die aktuelle Mappe schon in einem bestimmten Ordner gespeichert ist (dadurch Pfad und Dateinamen schon besitzt)
Nun soll eben in den festgelegten Ordner
\\Server04\av\SharePoint_Beschlagliste\Raisch_Verknüpfungen die Verknüpfung zu dieser Datei mit gleichem DAteinamen abgelegt werden.
Ich schaffs halt nicht das meinem Code zu sagen.
Danke für Deine Hilfe volker

Anzeige
AW: Dateinamen in code einsetzen
16.11.2007 11:23:00
Hajo_Zi
Hallo Volker,
? Verknüpfungen .. abgelegt
Kopie der Datei gespeichert werden?
ThisWorkbook.SaveCopyAs
Sieht ein Beitrag mit einer Anrede und einem Gruß nicht persönlicher aus?

AW: Dateinamen in code einsetzen
16.11.2007 11:40:22
volker
Hallo Hajo,
ja save copy as verstehe ich als kopierte Datei, das will ich eben sicherstellen dass keine copy besteht und Änderungen nur in der "richtigen Datei" gemacht werden.
Deshalb möchte ich ausschließlich eine Verknüpfung anlegen.
Das macht das makro ja schon ganz prima. Nur sind in dem makro feste Dateinamen und Speicherpfade vergeben. Das ist der wunde Punkt diese Infos soll das makro automatisch einlesen.
Aber wie?
Danke Hajo, Viele Grüsse und schönes WE volker

Anzeige
AW: Dateinamen in code einsetzen
18.11.2007 11:43:00
Tino
Hallo,
hiermit kannst du eine Verknüpfung erstellen.
Im VBA-Editor muss der Verweis auf das Windows Scripting Host... gesetzt werden

Sub MakeDesktopShortcut()
'Im VBA-Editor muss der Verweis auf das Windows Scripting Host werden
Dim wsh As New WshShell
Dim sc As WshShortcut
Dim sPath As String, sFile As String
sPath = ThisWorkbook.Path 'Pfad der Datei
sFile = ThisWorkbook.Name 'Name der Datei
Set sc = wsh.CreateShortcut(sPath & "\TestNeu.lnk") 'wo soll verknüpfung erstellt werden
'mit welchen Namen
sc.TargetPath = Application.Path & "\excel.exe" & Chr(34) & " " & sFile 'Art der Datei
sc.Hotkey = "CTRL+ALT+Z"
sc.Save
Set wsh = Nothing
End Sub


Gruß
Tino

Anzeige
AW: Dateinamen in code einsetzen
19.11.2007 07:28:21
volker
Hai Tino Danke für Deinen Tipp!
Das macht mir die Bedeutung etwas klarer.
Schöne Woche Gruss volker

AW: Dateinamen in code einsetzen
18.11.2007 12:35:57
fcs
Hallo Volker,
mit folgenden Anpassungen wird für die aktiven Excelarbeitsmappe eine Verknüpfung erstellt.
Getestet hab ich mit einem lokalen Pfad auf meinem Rechner (Win95, Excel97). Hoffe, dass es auch mit dem Netzwerkpfad funktioniert.
Gruß
Franz

Sub CreateFileShortcut()
Dim objWSHShell As Object
Dim objWSHShortcut As Object
Dim PfadLinkIcons As String
Set objWSHShell = CreateObject("WScript.Shell")
PfadLinks = "\\Server04\av\SharePoint_Beschlagliste\Raisch_Verknüpfungen\"
With ActiveWorkbook
Set objWSHShortcut = objWSHShell.CreateShortcut(PfadLinks & .Name & ".lnk")
'obige Zeile = Pfad der gespeicherten Verknüpfung und Dateinamen
objWSHShortcut.TargetPath = """" & .FullName & """"
'obige Zeile = Pfad der gespeicherten Datei und Dateinamen
objWSHShortcut.Description = .Name
'obige Zeile = ?
End With
objWSHShortcut.WorkingDirectory = "C:\Windows"
objWSHShortcut.WindowStyle = vbNormalFocus
objWSHShortcut.Save
Set objWSHShortcut = Nothing
Set objWSHShell = Nothing
End Sub


Anzeige
AW: Dateinamen in code einsetzen
19.11.2007 07:31:00
volker
Hai Franz,
DANKE so hab ich den Code nun eingefügt. passt!!
Mit dem Tipp von Tino ist mir nun auch klar warum C:\Windows im Code vorkommt.
Schöne Woche aus dem kalten schwarzen Wald volker

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige