Word 2007 - DateiNeu-Dialog per vba

27/05/2010 - 18:05 von inge olufs | Report spam
hallo,

ich möchte per makro den dialog anzeigen, der im office-menü bei klick
auf
Datei -> Neu -> meine Office-Vorlagen
erscheint als nicht den, der mit Dialogs(wdDialogFileNew) angezeigt
wird.

gibt es evtl. einen parameter zu wdDialogFileNew, mit dem man den
'alten' dialog hervor kitzeln kann? oder heißt der alte dialog einfach
anders?

alternativ: wie kann ich die parameter eines eingebauten dialogfeldes
auflisten? versucht habe ich:

For Each elt In dlg
Debug.Print elt.Name
Next

alle versuche dieser art und àhnlicher art brachen jedoch mit
laufzeitfehler 438 (= objekt unterstützt diese eigenschaft oder
methode nicht) ab.

kann mir jemand weiterhelfen?

danke für eure unterstützung!
vg inge
 

Lesen sie die antworten

#1 Thomas Gahler
27/05/2010 - 21:26 | Warnen spam
Hallo inge



ich möchte per makro den dialog anzeigen, der im office-menü bei klick
auf Datei -> Neu -> meine Office-Vorlagen
erscheint als nicht den, der mit Dialogs(wdDialogFileNew) angezeigt
wird.


Ha, jetzt sehe ich erst den Unterschied. Jetzt will ich auch den anderen
Dialog haben..


gibt es evtl. einen parameter zu wdDialogFileNew, mit dem man den
'alten' dialog hervor kitzeln kann? oder heißt der alte dialog einfach
anders?


Hier zeigt Cindy, wie sie mittels SendKeys() deine Problematik anpackt
(wobei SendKeys natürlich Probleme hat, andere Sprache -> andere Hotkeys,
der Aufbau in einer Version muss nicht gelich sein wie in der nàchsten usw.)




alternativ: wie kann ich die parameter eines eingebauten dialogfeldes
auflisten? versucht habe ich:


Sie mein Code-Beispiel. Die wenigen Eigenschaften, die gesetzt werden können
findest du in der Hilfe (siehe auch meine Antwort zur Frage von Eric March
von heute)




Sub Demo()
Dim i As Long
Dim dlg As Word.Dialog
Dim doc As Word.Document
Dim strText As String

For i = 1 To 5000
Application.StatusBar = CStr(i)

On Error Resume Next
Set dlg = Dialogs(i)
If Err.Number = 0 Then
Debug.Print CStr(i) & vbTab & dlg.CommandName & vbTab & dlg.Type
strText = strText & CStr(i) & vbTab & dlg.CommandName & vbTab &
dlg.Type & vbVerticalTab
End If
'Dialogs(i).Display
On Error GoTo 0
Set dlg = Nothing
Next i

Set doc = Documents.Add
doc.Range.Text = strText
doc.Saved = True
End Sub

Thomas Gahler
Co-Autor von »Microsoft Word-Programmierung.
Das Handbuch« (MS Press)


- Windows Vista (SP2), Office 2007 (SP2)

Ähnliche fragen