Hallo Hartmut,
nicht Application.FullName, sondern ActiveDocument.FullName (s.u.).
Ich kann mir nicht vorstellen, dass das in Word 2003 fehlt. Es ist der Pfad+Name der Datei.
Holger
Hartmut schrieb am 31.01.2008 14:48:52:
Hallo Holger,
funktioniert bei Word 2003 leider nicht, da Application.FullName nicht verfügbar ist.
Uns selbst wenn würde mir das nicht weiter helfen, da ich damit nur den Vorlagen Name bekomme aber nicht den Pfad. Das aus der Vorlage geöffnete Dokument wird temporär abgespeichert, daher unterscheiden sich die Pfade.
Ich hab die Vorlagenpfade nun fest eingetragen und frage der Reihe nach ab welcher der aktuelle ist. Zwar keine elegante Lösung aber für die Beta Version reicht das erst mal. Auf Dauer versuch ich das ganze über UserForm und Image Objekt zu lösen.
Gruß,
Hartmut
Holger schrieb am 31.01.2008 13:48:45:
Hallo Hartmut,
ich habe einmal versucht, aus einem gespeicherten (!) Dokument die benutzte Vorlage zu extrahieren. Da ich nur wenig mit Vorlagen arbeite und noch Office 2000 benutze, wäre ich sehr daran interessiert zu erfahren, ob die Funktion bei dir geklappt hat.
Function Vorlage(datei)
Dim a1 As Byte, a2 As Byte, a3 As Byte, a4 As Byte
s1 = ".dot"
s2 = ":\"
Open datei For Binary As #1 Len = 1
q = False
Do Until EOF(1) Or z = 1
w = w + 1
Get 1, w, a1
Get 1, w + 2, a2
Get 1, w + 4, a3
Get 1, w + 6, a4
a = Chr(a1) + Chr(a2) + Chr(a3) + Chr(a4)
If a = s1 Then q = True: Exit Do
Loop
If q = False Then
Close 1
Vorlage = "Normal.dot"
Exit Function
End If
v = w
Do Until v < 5
v = v - 2
Get 1, v - 2, a1
Get 1, v, a2
b = Chr(a1) + Chr(a2)
If b = s2 Then Exit Do
Loop
vorl = ""
For i = v - 4 To w + 6 Step 2
Get 1, i, a1
Vorlage = Vorlage + Chr(a1)
Next i
Close 1
End Function
Sub Dokument ()
BenutzteVorlage = Vorlage(ActiveDocument.FullName)
End Sub
Viel Erfolg
Holger
|