Spire.Office for .NET

ニュース&リリース

2026-07-31

Spire.Office 11.7.0 リリースのお知らせ

このたび、Spire.Office 11.7.0 をリリースいたしましたことをお知らせいたします。本バージョンでは、いくつかの新機能が追加されています。例えば、Spire.XLS ではヘッダー/フッターテキストが長い場合に発生する例外を回避するプロパティを追加、Spire.Presentation ではマクロ有効ファイルの保存や VBA モジュールの管理をサポートしました。さらに、Excel、PDF、PowerPoint ファイルの処理時に発生していた一連の問題も修正されています。詳細は以下をご覧ください。

本バージョンには、以下の最新バージョンのコンポーネントが含まれています: Spire.Doc、Spire.PDF、Spire.XLS、Spire.Presentation、Spire.Email、Spire.DocViewer、Spire.PDFViewer、Spire.Spreadsheet、Spire.OfficeViewer、Spire.DataExport、Spire.Barcode。

DLL バージョン:
  • Spire.Doc.dll: 14.7.5
  • Spire.XLS.dll: 16.7.2
  • Spire.Presentation.dll: 11.7.6
  • Spire.Pdf.dll: 12.7.8
  • Spire.Barocde.dll: 7.5.0
  • Spire.DocViewer.dll: 8.9.5
  • Spire.Email.dll: 6.8.0
  • Spire.OfficeViewer.dll: 8.8.1
  • Spire.PdfViewer.Asp.dll: 8.3.0
  • Spire.PdfViewer.Forms.dll: 8.3.0
  • Spire.Spreadsheet.dll: 7.5.3
ここで Spire.Office 11.7.0をダウンロードする:

このリリースで行われた変更点の一覧は以下のとおりです

Spire.XLS

カテゴリー ID 説明
調整 - Worksheet.SaveToPdf() メソッドから FileFormat パラメータを削除しました。
新機能 SPIREXLS-6161 Excel を PDF に変換する際、長いヘッダー/フッターテキストによる例外を防ぐ ValidateHeaderFooterLength プロパティを追加。
workbook.ConverterSetting.ValidateHeaderFooterLength = false;
不具合修正 - 複数のライセンスを適用しても有効にならない問題を修正。
不具合修正 SPIREXLS-6152 セルの NumberFormat を設定しても反映されない問題を修正。
不具合修正 SPIREXLS-6157 Excel を PDF に変換する際に画像の位置がずれる問題を修正。
不具合修正 SPIREXLS-6158 CalculateAllValue() メソッドが誤った数式結果を返す問題を修正。
不具合修正 SPIREXLS-6170 Excel を PDF に変換する際の改ページが正しくない問題を修正。

Spire.Presentation

カテゴリー ID 説明
新機能 VBA モジュールの追加に対応しました。
Presentation ppt = new Presentation();
// Add VBA project to the document
IVbaProject vbaProject = ppt.VbaProject;
vbaProject.Name = "SampleVBAMacro";
vbaProject.CodePage = 936; // Set encoding to support Chinese characters
IVbaModule vbaModule = vbaProject.Modules.Add("SampleModule", VbaModuleType.Module);
vbaModule.SourceCode = @"
Sub ExampleMacro()
' Declare variables
Dim pptPres As Object
Dim pptSlide As Object
Dim pptShape As Object
' Set reference to the current presentation
Set pptPres = ActivePresentation
' Loop through all slides
Dim i As Integer
For i = 1 To pptPres.Slides.Count
Set pptSlide = pptPres.Slides(i)
' Add a title text box to each slide (msoTextOrientationHorizontal = 1)
Set pptShape = pptSlide.Shapes.AddTextbox(1, 50, 50, 600, 50)
pptShape.TextFrame.TextRange.Text = ""Slide "" & i & "" - Auto-generated by macro""
With pptShape.TextFrame.TextRange.Font
.Bold = -1 ' msoTrue = -1
.Size = 24
.Color.RGB = RGB(0, 102, 204)
End With
Next i
' Display completion message
MsgBox ""Macro execution completed! Processed "" & pptPres.Slides.Count & "" slides."", vbInformation, ""Operation Prompt""
End Sub";
ppt.SaveToFile("result.pptm", FileFormat.Pptm);
ppt.Dispose();
新機能 VBA モジュールの削除に対応しました。
// Remove module by name
Presentation ppt1 = new Presentation();
ppt1.LoadFromFile(inputFile);
IVbaModule firstModule = ppt1.VbaProject.Modules[0];
sb.AppendLine("[Remove by Name]");
sb.AppendLine("Module Name: " + firstModule.Name);
sb.AppendLine("Module Type: " + firstModule.Type);
sb.AppendLine("Module Count Before Deletion: " + ppt1.VbaProject.Modules.Count);
ppt1.VbaProject.Modules.Remove(firstModule.Name);
sb.AppendLine("Module Count After Deletion: " + ppt1.VbaProject.Modules.Count);
ppt1.SaveToFile("result1.pptm", FileFormat.Pptm);
ppt1.Dispose();
// Remove module by index
Presentation ppt2 = new Presentation();
ppt2.LoadFromFile(inputFile);
sb.AppendLine("[Remove by Index (0)]");
sb.AppendLine("Module Count Before Deletion: " + ppt2.VbaProject.Modules.Count);
ppt2.VbaProject.Modules.RemoveAt(0);
sb.AppendLine("Module Count After Deletion: " + ppt2.VbaProject.Modules.Count);
ppt2.SaveToFile("result2.pptm", FileFormat.Pptm);
ppt2.Dispose();
// Remove module by VbaModule object (cast to specific type)
Presentation ppt3 = new Presentation();
ppt3.LoadFromFile(inputFile);
IVbaModule moduleObj = ppt3.VbaProject.Modules[4];
VbaModule vbaModule = (VbaModule)moduleObj;
sb.AppendLine("[Remove by Object]");
sb.AppendLine("Module Name: " + vbaModule.Name);
sb.AppendLine("Module Type: " + vbaModule.Type);
sb.AppendLine("Module Count Before Deletion: " + ppt3.VbaProject.Modules.Count);
ppt3.VbaProject.Modules.Remove(vbaModule);
sb.AppendLine("Module Count After Deletion: " + ppt3.VbaProject.Modules.Count);
ppt3.SaveToFile("result3.pptm", FileFormat.Pptm);
ppt3.Dispose();
// Clear all modules
Presentation ppt4 = new Presentation();
ppt4.LoadFromFile(inputFile);
sb.AppendLine("[Clear All]");
sb.AppendLine("Module Count Before Deletion: " + ppt4.VbaProject.Modules.Count);
ppt4.VbaProject.Modules.Clear();
sb.AppendLine("Module Count After Deletion: " + ppt4.VbaProject.Modules.Count);
ppt4.SaveToFile("result4.pptm", FileFormat.Pptm);
ppt4.Dispose();
不具合修正 - 複数ライセンスを適用しても有効にならない問題を修正しました。

Spire.PDF

カテゴリー ID 説明
不具合修正 - 複数のライセンスを適用しても有効にならない問題を修正しました。
不具合修正 SPIREPDF-8062 PDF を仮想プリンターに送信する際、印刷ジョブ名が正しくない問題を修正しました。
不具合修正 SPIREPDF-8089 PDF ページから抽出したテキストに重複した内容が含まれる問題を修正しました。
不具合修正 SPIREPDF-8105 OFD を PDF に変換する際、「OFD 解析失敗」例外が発生する問題を修正しました。

Spire.PdfViewer

カテゴリー ID 説明
不具合修正 SPIREPDFVIEWER-625 PDF ファイルのプレビュー時にArgumentNullException エラーがスローされる問題を修正しました。