Word 文档中的中心文本

Word 文档中的中心文本

我正在编写一个创建 Word 文档的脚本,但无法使文本居中对齐。这是我使用的代码示例。(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

我尝试了通过 Google 找到的一些不同方法,但没有找到任何有效的方法。

答案1

更新:事实证明像 wdAlignParagraphCenter 这样的常量可能实际上没有定义,因此请在代码中检查。

获取如何在 Word(或 Excel)中进行格式化的示例的最简单方法是实际开始录制宏,执行所需的操作,然后停止录制并查看宏内容。

在您的示例代码中,我没有看到任何您尝试将文本居中的迹象。尝试类似 的操作selection.ParagraphFormat.Alignment = wdAlignParagraphCenter,尽管这是从文档中提取的,而不是实际尝试过的。

经过更多的实验,wdAlignParagraphCenter 的值应该是 1,但从 vbs 来看并非如此。深入研究 VBScript 文档以找出其确切定义的位置等,留给读者作为练习。

此外,请愿意阅读文档 - 可从 Word 的代码编辑器访问的 Visual Basic 参考资料中包含可能对您有用的信息。

请注意(至少根据我多年的经验),在 Word 中您可能无法执行正确运行的代码等效操作,尽管自 WordBasic 时代以来,它们可能已经有所改进。

答案2

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

答案3

%% 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 );

相关内容