This commit is contained in:
csh 2023-12-27 09:02:23 +08:00
parent ffbde2f964
commit c5bdd38506
1 changed files with 17 additions and 6 deletions

View File

@ -33,10 +33,16 @@ Begin
para.Format.Style := "Title";
para.Format.Apply(); // 写属性后要apply
image := TOfficeTemplate('tinysoft.gif',true);
shape := ActiveDocument.InlineShapes.AddPicture(image);
shape.Width := 410;
shape.Height := 75;
shape.Apply();
ActiveDocument.Paragraphs.Add;
ActiveDocument.Paragraphs(2).Range.InsertParagraphAfter();
ActiveDocument.Paragraphs(2).Range.InsertParagraphBefore();
range := ActiveDocument.Paragraphs(3).Range;
ActiveDocument.Paragraphs(3).Range.InsertParagraphAfter();
ActiveDocument.Paragraphs(4).Range.InsertParagraphBefore();
range := ActiveDocument.Paragraphs(4).Range;
range.Collapse(TSDocxEnumerations.wdCollapseEnd());
table := ActiveDocument.Tables.Add(Range:=range, NumRows:=3, NumColumns:=2, DefaultTableBehavior:=TSDocxEnumerations.wdWord9TableBehavior);
println("ActiveDocument.Paragraphs.Count = {}", ActiveDocument.Paragraphs.Count);
@ -67,7 +73,7 @@ End;
Function AddTitle(ActiveDocument, text, level);
Begin
ActiveDocument.Paragraphs.Add;
ActiveDocument.Paragraphs.Add;
para := ActiveDocument.Paragraphs.Last;
info := array(
(22, TSDocxEnumerations.wdViolet(), TSDocxEnumerations.wdOutlineLevel1(), 0),
@ -144,6 +150,8 @@ Begin
path + "TSDocxDocuments.tsf",
path + "font//TSDocxFont.tsf",
path + "listformat//TSDocxListFormat.tsf",
path + "TSDocxInlineShape.tsf",
path + "TSDocxInlineShapes.tsf",
path + "TSDocxTable.tsf",
path + "TSDocxTables.tsf",
path + "TSDocxTablesOfContents.tsf",
@ -363,7 +371,7 @@ Begin
FAQContent(ActiveDocument, "paragraph.Range.Font.Name := 'Consolas';");
FAQContent(ActiveDocument, "paragraph.Range.Font.Size := 12;");
FAQContent(ActiveDocument, "paragraph.Range.Font.Apply();");
FAQContent(ActiveDocument, "注意一在应用Font, Shading, ParagraphFormat, border, ListFormat时均需要执行Apply方法使得设置生效");
FAQContent(ActiveDocument, "注意一在应用Font, Shading, ParagraphFormat, border, ListFormat以及InlineShape时均需要执行Apply方法使得设置生效");
FAQContent(ActiveDocument, "注意二使用这些类时最多支持到两级赋值比如说paragraph.Range.Font中Range是第一级paragraph是第二级。若使用paragraphs.Item(1).Range.Font则不会生效。这里出现了第三级Paragraphs");
AddTitle(ActiveDocument, "如何使用VBA中的Enumerations", 2);
@ -374,6 +382,9 @@ Begin
AddTitle(ActiveDocument, "为什么目录无法计算页码", 2);
FAQContent(ActiveDocument, "由于目录页码计算比较复杂,目前仅提供生成目录项功能,不支持页码的计算。");
FAQContent(ActiveDocument, "另外使用TablesOfContents.Add生成目录时仅支持Range, UpperHeadingLevel, LowerHeadingLevel三个参数的设置其余参数设置均无效。");
AddTitle(ActiveDocument, "为什么添加图片的FileName参数不生效", 2);
FAQContent(ActiveDocument, "因为TSVBA中FileName是一个二进制格式需要传入的是图片的二进制内容而不是路径");
End;
Function FAQContent(ActiveDocument, text);
@ -393,7 +404,7 @@ End;
Function AddTablesOfContents(ActiveDocument);
Begin
range := ActiveDocument.Paragraphs(15).Range;
range := ActiveDocument.Paragraphs(16).Range;
// println("range.text = {}", range.Text);
range.Collapse(TSDocxEnumerations.wdCollapseStart());
ActiveDocument.TablesOfContents.Add(Range := range, UseHeadingStyles := true, UpperHeadingLevel := 1, LowerHeadingLevel := 9);