Spire.Doc for .NET

ニュース&リリース

2026-01-21

Spire.Doc 14.1.12 は Word での VBA マクロの作成および操作をサポートします

このたび、Spire.Doc for .NET 14.1.12 のリリースをお知らせいたします。本バージョンでは、Word 文書内の指定ページや空白ページの削除、VBA マクロの作成および操作、ドキュメントから完全な変更履歴(リビジョン)情報の取得など、複数の有用な新機能が追加されました。また、全体的な安定性とパフォーマンスを向上させるため、複数の既知の問題も修正されています。詳細は以下のとおりです。

本リリースで行われた変更一覧
カテゴリー ID 説明
新機能 SPIREDOC-3929 Word を HTML に変換する際、数式を MathML 形式に変換するための設定を追加しました。
HtmlExportOptions options = doc.HtmlExportOptions;
options.OfficeMathOutputMode = HtmlOfficeMathOutputMode.MathML;
新機能 SPIREDOC-9868 Word 文書内の 指定ページ および 空白ページ を削除する機能を追加しました。
doc.RemoveBlankPages(); // Delete blank pages
doc.RemovePages(new List {0,1,3}); // Delete specified pages
新機能 SPIREDOC-11489 Word 文書で VBA マクロの作成および操作 をサポートしました。
Document doc = new Document();
doc.AddSection().AddParagraph().AppendText("wertyuiop[]fghjk");

// Add VBA project to document
VbaProject vbaProject = new VbaProject();
vbaProject.Name = "SampleVBAMacro";
doc.VbaProject = vbaProject;

// Add modules to VBA project
// Module 1
VbaModule vbaModule1 = doc.VbaProject.Modules.Add("SampleModule1", VbaModuleType.StdModule);
vbaModule1.SourceCode = @"
Sub DocumnetInfo()
    MsgBox ""create time: "" &Now()
    MsgBox ""Pages:"" & ActiveDocument.Range.ComputeStatistics(wdStatisticPages)
End Sub

Sub WriteHello()
    Selection.TypeText Text:=""Hello World!""
End Sub";

// Module 2
VbaModule vbaModule2 = doc.VbaProject.Modules.Add("SampleModule2", VbaModuleType.StdModule);
vbaModule2.SourceCode = @"
Sub InsertCurrentDate()
    Selection.TypeText Text:=Format(Now(),""yyyy-mm-dd hh:mm:ss"")
End Sub

Sub IndentParagraph()
    Selection.ParagraphFormat.LeftIndent = InchesToPoints(0.5)
End Sub";

doc.SaveToFile("result.docm", FileFormat.Docm);
doc.Close();
新機能 SPIREDOC-11598 ドキュメントから 完全な変更履歴(リビジョン)情報 を取得するための GetRevisionInfos() メソッドを追加しました。
Document doc = new Document();
doc.LoadFromFile("input.docx");
StringBuilder sb = new StringBuilder();
RevisionInfoCollection revisionInfoCollection = doc.GetRevisionInfos();

foreach (RevisionInfo revisionInfo in revisionInfoCollection)
{
    sb.AppendLine("[author]:" + revisionInfo.Author + "\r\n" + "  [RevisionType]:" + revisionInfo.RevisionType + "\r\n" + "  [DateTime]:" + revisionInfo.DateTime.ToString() + "\r\n" + "  [OwnerObject]:" + revisionInfo.OwnerObject + "\r\n" + "  [OwnerObject.Owner]:" + revisionInfo.OwnerObject.Owner + "\r\n");
    if (revisionInfo.OwnerObject is TextRange textRange)
    {
        TextRange range = (TextRange)textRange;
        sb.AppendLine($"TextRange - Content:{range.Text}");
    }
}
File.WriteAllText(outputFile, sb.ToString());
doc.Dispose();
不具合修正 SPIREDOC-11523 Word を PDF に変換する際に プログラムが停止(ハング)する問題 を修正しました。
不具合修正 SPIREDOC-11632 複数行の透かしを追加した際に 改行が正しく処理されない問題 を修正しました。
不具合修正 SPIREDOC-11692 目次フィールドが更新されない問題 を修正しました。
不具合修正 SPIREDOC-11703 Markdown を Word に変換する際に結果が正しくならない問題 を修正しました。
不具合修正 SPIREDOC-11706 \r\n を含む複数行テキストを追加した際に ドキュメントの保存に時間がかかる問題 を修正しました。
不具合修正 SPIREDOC-11727 HTML を Word に追加した際に 余分な空白段落が生成される問題 を修正しました。
不具合修正 SPIREDOC-11744 Word を HTML に変換した際に 画像がぼやける問題 を修正しました。
不具合修正 SPIREDOC-11767 RTF ファイルの読み込みおよび保存時に 内容が不整合になる問題 を修正しました。
以下のリンクから Spire.Doc 14.1.12 をダウンロードできます: