Forums Neueste Beiträge
 

Neue Vorlage zuweisen

30/11/2007 - 15:38 von mko | Report spam
Hallo,
mit dem unten dargestellten Code habe ich das Problem, dass die erste
.AttachedTemplate = strVorlagenPfad Anweisung ohne Probleme klappt,
die zweite aber nicht. Der Code wird zwar ausgeführt, aber die Zuweisung
erfolgt nicht.


Code:
...

Case DRIVE_REMOTE 'Netzlaufwerk
If InStr(1, strVorlagenPfad, STANDVORLAGENVERZ, vbTextCompare) >
1 Then
' Vorlage wurde vom Server aus dem richtigen Verzeichnis
aber nicht in UNC-Notation,
' sondern mit Laufwerksbuchstabe geöffnet.
' Laufwerksbuchstabe durch UNC-Pfad ersetzen.
strVorlagenPfad = ADDINPFAD & Application.PathSeparator &
myTemplate.Name
With ActiveDocument
.AttachedTemplate = strVorlagenPfad
.Saved = False
End With
Else
' Vorlage wurde aus einem anderen Verzeichnis geöffnet
MsgRet = MsgBox("Die Vorlage wurde nicht aus dem
Standard-Vorlagenverzeichnis benutzt." & Chr(13) & "Möchten Sie das Dokument
mit der offiziellen Vorlage verbinden?' ", _
vbCritical + vbYesNo, "Achtung")

If MsgRet = vbYes Then
strVorlagenPfad = ADDINPFAD & Application.PathSeparator
& myTemplate.Name
With ActiveDocument
.AttachedTemplate = strVorlagenPfad
.Saved = False
End With
End If
End If

...

habe noch weiter ausprobiert und folgendes festgestellt:

Wenn ich die normal.dot zuweise (strVorlagenPfad = "normal.dot"),
dann funktioniert die neue Zuweisung.
Wenn ich aber einen Pfad mit Vorlage zuweise, (z.B.
strVorlagenPfad="C:\Vorlagen\muster.dot"), dann funktioniert es auch nicht.

Wenn ich das ganz aber bei zuvor geöffnetem VBA-Editor durchführe, dann
funktioniert wieder alles.

Nochmals zur Erklàrung:
Die Vorlagen sind schon identisch, nur liegen diese in unterschiedlichen
Verzeichnissen.

Hat jemand eine Idee?

Was mache ich falsch?

Ich verwende Windows XP mit Office 2003.

Danke und Gruß
Maik
 

Lesen sie die antworten

#1 Thomas Gahler
03/12/2007 - 08:50 | Warnen spam
Hallo mko


Hat jemand eine Idee?


Hast du noch irgendwo ein 'On error resume next' drin?

Vielleicht sind es auch TimeOut-Probleme. Prüf doch mal, ob die Datei
vorhanden ist, dann ist mal sicher die Netzwerkverbindung schon schön da...
vielleicht



'
Public Function funcExistiertDatei(ByVal cDateiName As String) As Boolean
'Stellt fest, ob eine spezielle Datei auf dem System vorhanden ist.
Const tgATTR_NOTFILE As Integer = vbDirectory + vbVolume

On Error Resume Next
funcExistiertDatei = CBool((GetAttr(cDateiName) And tgATTR_NOTFILE) = 0)
End Function

'


Thomas Gahler
MVP für WordVBA
Co-Autor von »Microsoft Word-Programmierung.
Das Handbuch« (MS Press)


- Windows XP (SP2), Office XP (SP3)

Ähnliche fragen