hi lucas
also, der lock-befehl bringt dir nur was, wenn du die datei mit dem basic-befehl „open“ geöffnet hast. hat nichts mit dem word-befehl „documents.open“ zu tun sondern ist ein überbleibsel der alten basica- bzw. quickbasic-vergangenheit von vba. du öffnest damit die datei nicht im word sondern du legst quasi nur einen datenkanal zur datei an, über den du dann die datei byte für byte auslesen kannst. da in einem word-dokument aber jede menge binärer infos drinnen sind, mit denen du nichts anfängst, ist das sicher nicht der für dich optimale weg.
ev. interessant:
die datei einfach mit dem filecopy-befehl vom server auf die lokale platte kopieren. dann mit einem normalen „documents.open“ die datei öffnen.
geht dann einfach, wenn die einzelnen pcs möglichst ähnlich konfiguriert sind, d.h. es klar ist, auf welches lokale verzeichnis problemlos zugegriffen werden kann.
ansonsten wird es etwas kompliziert: du musst über die registry rausfinden, wo das lokale temp-verzeichnis ist. ist für leute mit etwas erfahrung zwar nicht schwer, nur für anfänger aber nicht ganz so einfach.
alternative: du kannst auch das includetext-feld verwenden. geht im prinzip ganz einfach:
strg-f9 drücken (ein geschwungenes klammernpaar {} erschient)
includetext „pfad“
f9 drücken, um das feld zu berechnen
fertig - der inhalt des dokuments mit pfadnamen „pfad“ wird in dein aktuellen dokument eingefügt, allerdings ohne einen dokumentlock zu erzeugen.
bsp: dein dokument liegt unter c:\temp\test.doc, dann schaut das feld dann so aus:
{ includetext „c:\temp\test.doc“ }
das einfügen des feldes kannst du auch per makro erledigen:
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldIncludeText, Text:="""c:\\temp\\test.doc""", preserveformatting:=False
ach ja, die dreifachen hochkomma und die doppelten backslashes sind absicht, kein tippfehler. anders funkt es nicht richtig.
ist vermutlich einfacher so als das herumkopieren und einfügen.
lg
erwin