2016-03-29 5 views
0

Automatisieren Wort aus Access ... Wenn ich zum Beispiel ...Word.application ignoriert Bibliothek?

Set wordapp = New Word.Application 

... Word 2003 öffnet. Ich will, dass es das Wort 2013 öffnet. Wie kann ich angeben, auf welche Version des Wortes verwiesen wird?

Ich verweise auf die "Microsoft Word 15.0 Objektbibliothek" unter Tools. Ich kann sowohl Word 2003 als auch Word 2013 als Standard-Apps sehen, die verschiedenen Dateitypen zugeordnet werden können. Ich kann das Wort 2003 nicht in meiner Liste "Alle Apps" sehen. Das ist alles unter 10 Windows-

+1

Gibt es * irgendeinen * Grund, warum Word 2003 neben Word 2013 * installiert sein müsste? –

+1

Ein Wort herum könnte 'WScript.Shell' sein, um Ihre bevorzugte Version von' WINWORD.EXE' zu starten, gefolgt von 'GetObject()' [wie in einer früheren Antwort beschrieben] (http://stackoverflow.com/a/12074636)/77335) – HansUp

+1

Ich stimme HansUp zu: Die neueste Version von Word ist diejenige, die sich als "das" Word.Application-Objekt registriert. Dies ist seit über einem Jahrzehnt Microsoft-Politik. Der einzige Weg, um sicher zu sein, welche Version Sie ausführen, ist das explizite Starten der * .exe. CAVEAT: Sie müssen sicher sein, dass eine Instanz der anderen Version, die Sie nicht möchten, nicht bereits ausgeführt wird. Sonst wird dieser abgeholt (die erste Version, die ausgeführt wird, wird abgeholt - es ist eine Office + Windows-Sache im ROT). –

Antwort

0

so etwas wie dieses Try ...

'// Open word 
Option Explicit 
Sub Open_Word_App() 
    Dim wdApp As Object ' Application 

    Set wdApp = CreateObject("Word.Application") 
    wdApp.Visible = True 

    Set wdApp = Nothing 
End Sub 
+0

Wie spät ist -bindungen werden etwas verändern? Oder ist das ein Stich im Dunkeln? –

0

Dank Alle!

Ich hätte angeben sollen, hatte ich bereits spät verbindlich versucht, vergebens.

Ich verfeinere meinen automatischen Code zwischen Zugriff und Wort und verfeinere meine Datenbank. Ich möchte nicht auf den neuen Code, an dem ich arbeite, umstellen, bis ich sicher bin, dass er funktioniert, und an 2013 arbeite. Bis dahin möchte ich weiterhin mit dem alten Code und der Datenbank mit 2003 arbeiten können. Also die parallelen Installationen.

Ein Moment, während ich an meinem Code für 2013 arbeite, ich Winword.exe in Programfiles (x86) Office11 umbenennen, d. Hide 2003, und 2013 startet, wie es sollte. Wenn ich die alte Datenbank und den alten Code verwende, benenne ich sie um und verwende 2003 wie zuvor.

Wenn die neue Datenbank und Wortcode getestet werden, werde ich neu registrieren 2013 vorgeschlagen, und entfernen Sie 2003

Nochmals vielen Dank für Ihre Meinung!

Mark.