From c5bdd385063f385c672a8e18dae17f266ffbf3d6 Mon Sep 17 00:00:00 2001 From: csh Date: Wed, 27 Dec 2023 09:02:23 +0800 Subject: [PATCH] update --- test/docx_vba_help.tsl | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/test/docx_vba_help.tsl b/test/docx_vba_help.tsl index c830ec3..f2e1202 100644 --- a/test/docx_vba_help.tsl +++ b/test/docx_vba_help.tsl @@ -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);