gpt4 book ai didi

delphi - 通过Delphi在单词中创建Y的页码X

转载 作者:行者123 更新时间:2023-12-03 19:39:22 25 4
gpt4 key购买 nike

我想在通过Delphi生成的Word文件中添加Y编号的页面X,该文件为:
-不大胆;
-字体大小为8;
-向右对齐。

注意:
Y是总页数;
X是页码的索引。

到目前为止,我发现了这一点:

procedure Print;
var v:olevariant;

v:=CreateOleObject('Word.Application');
v.Documents.Add;
HeaderandFooter;
firstpage:=true;

procedure HeaderandFooter;
var adoc,:olevariant;
begin
adoc.Sections.Item(1).Headers.Item(wdHeaderFooterPrimary).Range.Font.Size := 8;
adoc.Sections.Item(1).Footers.Item(wdHeaderFooterPrimary).PageNumbers.Add(wdAlignPageNumberRight);


我可以更改编号的格式:
adoc.Sections.Item(1).Footers.Item(wdHeaderFooterPrimary).PageNumbers.NumberStyle:= wdPageNumberStyleLowercaseRoman;

但是Y格式的X页没有选项。我该如何实施?

最佳答案

尽管没有具有这种格式的可选页眉页码编号样式,但是您可以通过将特定的MS Word文档字段(PAGE和NUMPAGES字段)添加到页眉(或页脚)或其他位置来实现。

procedure TForm1.MakeDocWithPageNumbers;
var
MSWord,
Document : OleVariant;
AFileName,
DocText : String;
begin
MSWord := CreateOleObject('Word.Application');
MSWord.Visible := True;

Document := MSWord.Documents.Add;
DocText := 'Hello Word!';
MSWord.Selection.TypeText(DocText);

if MSWord.ActiveWindow.View.SplitSpecial <> wdPaneNone then
MSWord.ActiveWindow.Panes(2).Close;
if (MSWord.ActiveWindow.ActivePane.View.Type = wdNormalView) or (MSWord.ActiveWindow.ActivePane.View.Type = wdOutlineView) then
MSWord.ActiveWindow.ActivePane.View.Type := wdPrintView;

MSWord.ActiveWindow.ActivePane.View.SeekView := wdSeekCurrentPageHeader;
MSWord.Selection.TypeText( Text:='Page ');

MSWord.Selection.Fields.Add( Range:= MSWord.Selection.Range, Type:=wdFieldEmpty,
Text:= 'PAGE \* Arabic ', PreserveFormatting:=True);
MSWord.Selection.TypeText( Text:=' of ');
MSWord.Selection.Fields.Add( Range:=MSWord.Selection.Range, Type:=wdFieldEmpty,
Text:= 'NUMPAGES \* Arabic ', PreserveFormatting:=True);
MSWord.Selection.GoTo(What:=wdGoToPage, Which:=wdGoToNext, Count:=1);

AFileName := 'd:\aaad7\officeauto\worddocwithheader.docx';
Document.SaveAs(AFileName);
ShowMessage('Paused');
Document.Close;
end;


我已经将字体大小和右对齐设置为读者的练习,因为SO不应视为代码编写服务; =)

关于delphi - 通过Delphi在单词中创建Y的页码X,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34656543/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com