Centro do texto no documento do Word

0

Estou trabalhando em um script que cria um documento do Word, mas não consigo que o texto seja alinhado ao centro. Aqui está um exemplo do código que estou usando. (VBScript)

set objword = createobject("word.application")
set doc = objword.documents.add
set selection = objword.selection
selection.Font.name = "arial" 
selection.Font.size = "20"
selection.Font.Bold = true
selection.Paragraphs.Alignment = wdAlignParagraphCenter
selection.typetext "This is the title that should be centered"
selection.typeparagraph
doc.saveas("testdoc.doc")
objword.Quit
set objword = nothing

Eu tentei algumas coisas diferentes que encontrei no Google, mas não encontrei nada que funcionasse.

    
por Tester101 16.12.2009 / 15:23

3 respostas

1

UPDATE: Acontece que constantes como wdAlignParagraphCenter podem não estar realmente definidas, então verifique isso em seu código.

A maneira mais fácil de obter um exemplo de formatação no Word (ou no Excel) é começar a gravar uma macro, fazer o que quiser, interromper a gravação e observar o conteúdo da macro.

No seu código de exemplo, não vejo nenhum sinal de você tentando centralizar o texto. Tente algo como selection.ParagraphFormat.Alignment = wdAlignParagraphCenter , apesar de não ter sido extraído da documentação.

Após um pouco mais de experimentação, o valor de wdAlignParagraphCenter deve ser 1, mas a partir do vbs não é. Cavando na documentação do VBScript para descobrir exatamente onde isso é definido, etc. é deixado como um exercício para o leitor.

Além disso, esteja preparado para ler a documentação - a Referência do Visual Basic acessível pelo editor de código do Word tem informações que provavelmente serão úteis para você.

Esteja ciente de que (pelo menos na minha experiência de um ano) pode haver coisas que você pode fazer no Word que não tenham um código equivalente em funcionamento correto, embora talvez tenham melhorado as coisas desde os dias do WordBasic.

    
por 16.12.2009 / 15:33
0
Set objWord = CreateObject("word.application")
Set objDoc = objWord.Documents.Add
Set objSelection = objWord.Selection
objSelection.Font.Name = "arial"
objSelection.Font.Size = "20"
objSelection.Font.Bold = True
objSelection.Paragraphs.Alignment = wdAlignParagraphCenter
objSelection.typetext "This is the title that should be centered"
objSelection.typeparagraph
objDoc.saveas ("testdoc.doc")
objWord.Quit
Set objWord = Nothing
    
por 16.12.2009 / 16:27
0
%% Start by creating a Word Document
    Word_COM = actxserver('Word.Application');
    set(Word_COM,'visible',1);
    RAM_Report = invoke(Word_COM.documents,'add');
    invoke(RAM_Report.paragraphs,'add');
    ReportDoc = Word_COM.Selection;

%% ReprtDoc Created   
    ReportDoc.Paragraphs.Alignment = 1;
    MyTextWithLineFeed = sprintf('%s\n','Hello World');
    ReportDoc.TypeText( MyTextWithLineFeed );
    
por 29.06.2016 / 15:06