В Word программное открытие диалогового окна «Новый документ»

Я ищу способ программно открыть диалоговое окно «Новый документ» в Word 2007. Это то же самое, что и при выборе File->New . Вы также можете открыть его с помощью макроса FileNew или команды меню "Создать...". Однако я не смог найти способ сделать это программно.

Я пытался:

Application.Run MacroName:="FileNew"

и

Dialogs(wdDialogFileNew).Show

и

CommandBars.FindControl(ID:=5746).Execute

но оба они открывают старый диалог, а не новый, который использует слово 2007.


person Jacob Adams    schedule 09.04.2010    source источник


Ответы (3)


Если для открытия этого диалога существует «настоящая» команда VBA, я не могу ее найти. Тем не менее, я нашел этот совершенно хромой обходной путь с помощью быстрого поиска в Google:

SendKeys "%"
SendKeys "F"
SendKeys "N"

Он делает то, что вы хотите, хотя! Нашел здесь http://www.eggheadcafe.com/software/aspnet/32228837/new-file-dialog-in-word-2.aspx

person Nick Spreitzer    schedule 09.04.2010
comment
Спасибо, я тоже нашел эту статью. К сожалению, это мерцание возникает из-за ненадолго всплывающего меню. Я все еще рассматриваю это, но я надеялся, что мне не придется этого делать. - person Jacob Adams; 12.04.2010
comment
вы всегда можете включить/выключить мерцание с помощью Application.ScreenUpdating = True/False - person Todd Main; 12.04.2010
comment
@Otaku К сожалению, отключение ScreenUpdating в данном случае не помогает. - person Nick Spreitzer; 12.04.2010
comment
@Jacob Да, немного раздражает, что, кажется, нет прямого доступа VBA к этому диалоговому окну. Просто догадка, но, возможно, для этого есть метод VSTO. - person Nick Spreitzer; 12.04.2010

Вы можете получить идентификатор команды для кнопки и выполнить ее?

Dim c As CommandBarControl
Set c = CommandBars.FindControl(ID:=18)
c.Execute

Идентификатор элемента управления 18 — это идентификатор словесного приложения для кнопки «Создать...».

person ColinBruce    schedule 07.03.2012

Я думаю, что вы можете просто использовать:

Documents.Add

без всяких параметров.

person Zoli    schedule 09.04.2010