Como: Usar caixas de Caixa de diálogo Word no modo oculto

Se aplica a

As informações contidas neste tópico se aplicam apenas às especificado Ferramentas do Visual Studio para o Office projetos e as versões do Microsoft Office.

Tipo de Projeto

  • Projetos de nível de documento

  • Projetos de nível de aplicativo

Versão do Microsoft Office

  • Word 2003

  • Word 2007

For more information, see Recursos disponíveis pelo aplicativo e o tipo de projeto.

Você pode executar operações complexas com um método de chamada, invocando caixas de Caixa de diálogo internas no Microsoft Office Word sem exibi-los para o usuário.Você pode fazer isso usando o método Execute do objeto Dialog sem chamar o método Display.

Exemplo

Friend Sub PageSetupDialogHidden()
    Dim dlg As Word.Dialog = Application.Dialogs.Item(Word.WdWordDialog.wdDialogFilePageSetup)

    ' Set the properties of the dialog box.
    ' ControlChars.Quote() is used to represent the symbol for inches.
    With dlg
        .PageWidth = 3.3 & ControlChars.Quote
        .PageHeight = 6 & ControlChars.Quote
        .TopMargin = 0.71 & ControlChars.Quote
        .BottomMargin = 0.81 & ControlChars.Quote
        .LeftMargin = 0.66 & ControlChars.Quote
        .RightMargin = 0.66 & ControlChars.Quote
        .HeaderDistance = 0.28 & ControlChars.Quote
        .Orientation = Word.WdOrientation.wdOrientPortrait
        .DifferentFirstPage = False
        .FirstPage = 0
        .OtherPages = 0

        ' Apply these settings only to the current selection with this line of code:
        .ApplyPropsTo = 3

        ' Apply the settings.
        .Execute()
    End With
End Sub
private void PageSetupDialogHidden() 
{ 
    Word.Dialog dlg = Application.Dialogs[Word.WdWordDialog.wdDialogFilePageSetup];

    invokeHelper(dlg,"PageWidth","3.3\"");
    invokeHelper(dlg,"PageHeight","6\"");
    invokeHelper(dlg,"TopMargin","0.71\"");
    invokeHelper(dlg,"BottomMargin","0.81\"");
    invokeHelper(dlg,"LeftMargin","0.66\"");
    invokeHelper(dlg,"RightMargin","0.66\"");
    invokeHelper(dlg,"HeaderDistance","0.28\"");
    invokeHelper(dlg,"Orientation","0");
    invokeHelper(dlg,"DifferentFirstPage","0");
    invokeHelper(dlg,"FirstPage","0");
    invokeHelper(dlg,"OtherPages","0");

    // Apply these settings only to the current selection with this line of code:
    invokeHelper(dlg,"ApplyPropsTo","3"); 

    // Apply the settings.
    dlg.Execute(); 
}

private static void invokeHelper(Word.Dialog dlg, string member, string value)
{
    System.Type dlgType = typeof(Word.Dialog);

    // Set the appropriate property of the dialog box.
    dlgType.InvokeMember(member,
        System.Reflection.BindingFlags.SetProperty |
            System.Reflection.BindingFlags.Public |
            System.Reflection.BindingFlags.Instance,
        null, dlg, new object[] {value},
        System.Globalization.CultureInfo.InvariantCulture);
}

Compilando o código

Execute esse código a partir do ThisDocument ou classe de ThisAddIn no projeto Ferramentas do Visual Studio para o Office.

Este exemplo usa a enumeração de wdDialogFilePageSetup para definir várias páginas propriedades de configuração com nenhum usuário Entrada.O código usa um objeto Dialog para configurar um Tamanho da Página Personalizar.

Este exemplo requer que você definiu Option Strict Off no seu código do Visual Basic.Isso é necessário porque nenhuma das configurações específicas para Instalação Página, como a margem superior, inferior margem e assim por diante, são membros da classe Dialog.Essas são propriedades que são atrasadas Ligado, porque eles são criados dinamicamente pelo Word em tempo de execução quando a enumeração de wdDialogFilePageSetup é avaliada.Na realidade, são propriedades criadas em tempo de execução para coincidir com controles em cada caixa de diálogo individuais.

Observação:

Você pode fatorar código que precisa para executar com Option Strict Off em uma classe separada.

Consulte também

Tarefas

Como: Usar caixas de Caixa de diálogo internas do Word

Conceitos

Palavra Overview do modelo de objeto