チュートリアル
簡単にライブラリーを使用するためのチュートリアルコレクション
脚注は、ページの下部に配置される注釈です。MS Word では、脚注を使用して参考文献を引用したり、説明を追加したり、コメントを残したりすることができますが、メインテキストには影響を与えません。この記事では、Spire.Doc for .NET を使用して、C# で Word ドキュメントに脚注を挿入または削除する方法を説明します。
まず、Spire.Doc for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.Doc
Spire.Doc for .NET の Paragraph.AppendFootnote(FootnoteType.Footnote) メソッドを使用すると、指定した段落の後に脚注を挿入できます。詳細な手順は以下の通りです。
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
using System.Drawing;
namespace AddFootnote
{
class Program
{
static void Main(string[] args)
{
// Documentインスタンスを作成
Document document = new Document();
// サンプルのWordドキュメントをロード
document.LoadFromFile("Sample.docx");
// 最初のセクションを取得
Section section = document.Sections[0];
// セクション内の指定した段落を取得
Paragraph paragraph = section.Paragraphs[6];
// 段落の末尾に脚注を追加
Footnote footnote = paragraph.AppendFootnote(FootnoteType.Footnote);
// 脚注のテキスト内容を設定
TextRange text = footnote.TextBody.AddParagraph().AppendText("さらに、近代に入ると、デジタル通貨や仮想通貨の登場により、通貨の形態は大きく変化し、グローバルな取引のスピードと範囲が拡大した。");
// テキストのフォントと色を設定
text.CharacterFormat.FontName = "Yu Gothic UI";
text.CharacterFormat.FontSize = 12;
text.CharacterFormat.TextColor = Color.DarkBlue;
// 脚注上付き番号のフォーマットを設定
footnote.MarkerCharacterFormat.FontName = "Arial";
footnote.MarkerCharacterFormat.FontSize = 15;
footnote.MarkerCharacterFormat.Bold = true;
footnote.MarkerCharacterFormat.TextColor = Color.DarkCyan;
// 結果のドキュメントを保存
document.SaveToFile("output/段落に脚注を追加.docx", FileFormat.Docx);
document.Close();
}
}
}
Spire.Doc for .NET を使用すると、ドキュメント内の任意の場所にある特定のテキストの後に脚注を挿入することもできます。詳細な手順は以下の通りです。
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
using System.Drawing;
namespace InsertFootnote
{
class Program
{
static void Main(string[] args)
{
// Documentインスタンスを作成
Document document = new Document();
// サンプルのWordドキュメントをロード
document.LoadFromFile("Sample.docx");
// 指定したテキスト文字列を検索
TextSelection selection = document.FindString("通貨制度", false, true);
// 指定したテキストの範囲を取得
TextRange textRange = selection.GetAsOneRange();
// テキスト範囲がある段落を取得
Paragraph paragraph = textRange.OwnerParagraph;
// 段落内のテキスト範囲の位置インデックスを取得
int index = paragraph.ChildObjects.IndexOf(textRange);
// 脚注を追加
Footnote footnote = paragraph.AppendFootnote(FootnoteType.Footnote);
// 指定した段落の後に脚注を挿入
paragraph.ChildObjects.Insert(index + 1, footnote);
// 脚注のテキスト内容を設定
TextRange text = footnote.TextBody.AddParagraph().AppendText("通貨制度は、国や地域が採用する通貨の管理と流通に関する枠組みであり、これには中央銀行や政府の金融政策が含まれ、経済の安定と成長を支える役割を果たします。");
// テキストのフォントと色を設定
text.CharacterFormat.FontName = "Yu Gothic UI";
text.CharacterFormat.FontSize = 12;
text.CharacterFormat.TextColor = Color.DarkBlue;
// 脚注上付き番号のフォーマットを設定
footnote.MarkerCharacterFormat.FontName = "Arial";
footnote.MarkerCharacterFormat.FontSize = 15;
footnote.MarkerCharacterFormat.Bold = true;
footnote.MarkerCharacterFormat.TextColor = Color.DarkGreen;
// 結果のドキュメントを保存
document.SaveToFile("output/テキストに脚注を追加.docx", FileFormat.Docx);
document.Close();
}
}
}
既存の脚注を手動で検索して削除するのは時間と労力がかかります。以下の手順で、すべての脚注を一度にプログラムで削除することができます。
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
namespace RemoveFootnote
{
class Program
{
static void Main(string[] args)
{
// Documentインスタンスを作成
Document document = new Document();
// サンプルのWordドキュメントをロード
document.LoadFromFile("output/テキストに脚注を追加.docx");
// 最初のセクションを取得
Section section = document.Sections[0];
// セクション内の各段落を巡回して脚注を探す
foreach (Paragraph para in section.Paragraphs)
{
int index = -1;
for (int i = 0, cnt = para.ChildObjects.Count; i < cnt; i++)
{
ParagraphBase pBase = para.ChildObjects[i] as ParagraphBase;
if (pBase is Footnote)
{
index = i;
break;
}
}
if (index > -1)
// 脚注を削除
para.ChildObjects.RemoveAt(index);
}
// 結果のドキュメントを保存
document.SaveToFile("output/脚注を削除.docx", FileFormat.Docx);
document.Close();
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
Word ドキュメントを印刷することは、デジタルのテキストを紙に出力するための基本的なスキルです。レポートや履歴書、エッセイなど、あらゆる書類をハードコピーとして作成する際に、効率的に Word ドキュメントを印刷する方法を理解していれば、時間を節約でき、プロフェッショナルな仕上がりを確保できます。この記事では、C# プログラムで Spire.Doc for .NET を使用して、指定した印刷設定で Word ドキュメントを印刷する方法を説明します。
まず、Spire.Doc for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.Doc
PrintDocument クラスを使用することで、プログラマーは特定のプリンターに Word ドキュメントを送信し、ページ範囲、印刷部数、両面印刷、用紙サイズなどの印刷設定を指定できます。Spire.Doc for .NET を使用して Word ドキュメントを印刷するための手順は以下の通りです。
using Spire.Doc;
using System.Drawing.Printing;
namespace PrintWordDocument
{
class Program
{
static void Main(string[] args)
{
// ドキュメントオブジェクトを作成
Document doc = new Document();
// Wordドキュメントをロード
doc.LoadFromFile("Sample.docx");
// PrintDocumentオブジェクトを取得
PrintDocument printDoc = doc.PrintDocument;
// プリンタ名を指定
printDoc.PrinterSettings.PrinterName = "NPI7FE2DF (HP Color LaserJet MFP M281fdw)";
// 印刷するページ範囲を指定
printDoc.PrinterSettings.FromPage = 1;
printDoc.PrinterSettings.ToPage = 10;
// 印刷するコピー数を設定
printDoc.PrinterSettings.Copies = 1;
// ドキュメントを印刷
printDoc.Print();
}
}
}
静かな印刷(サイレントプリント)とは、印刷プロセスや印刷のステータスを表示しない印刷方法です。サイレント印刷を有効にするには、PrintController を StandardPrintController に設定します。詳細な手順は以下の通りです。
using Spire.Doc;
using System.Drawing.Printing;
namespace SilentlyPrintWord
{
class Program
{
static void Main(string[] args)
{
// ドキュメントオブジェクトを作成
Document doc = new Document();
// Wordドキュメントをロード
doc.LoadFromFile("Sample.docx");
// PrintDocumentオブジェクトを取得
PrintDocument printDoc = doc.PrintDocument;
// プリンタ名を指定
printDoc.PrinterSettings.PrinterName = "NPI7FE2DF (HP Color LaserJet MFP M281fdw)";
// 印刷コントローラーをStandardPrintControllerに指定
printDoc.PrintController = new StandardPrintController();
// ドキュメントを印刷
printDoc.Print();
}
}
}
物理的なプリンターで Word ドキュメントを印刷するだけでなく、Microsoft Print to PDF や Microsoft XPS Document Writer などの仮想プリンターを使用してドキュメントを印刷することもできます。Spire.Doc for .NET を使用して Word を PDF に印刷する手順は以下の通りです。
using Spire.Doc;
using System.Drawing.Printing;
namespace PrintWordToPdf
{
class Program
{
static void Main(string[] args)
{
// ドキュメントオブジェクトを作成
Document doc = new Document();
// Wordドキュメントをロード
doc.LoadFromFile("Sample.docx");
// PrintDocumentオブジェクトを取得
PrintDocument printDoc = doc.PrintDocument;
// ドキュメントをファイルに印刷
printDoc.PrinterSettings.PrintToFile = true;
// プリンタ名を指定
printDoc.PrinterSettings.PrinterName = "Microsoft Print to PDF";
// 出力ファイルのパスと名前を指定
printDoc.PrinterSettings.PrintFileName = "ToPDF.pdf";
// ドキュメントを印刷
printDoc.Print();
}
}
}
印刷物が特定のサイズ要件を満たす必要がある場合や、特定の用途に合わせて印刷する必要がある場合、用紙サイズを設定することが重要です。Spire.Doc for .NET を使用してカスタムサイズの用紙に Word を印刷する手順は以下の通りです。
using Spire.Doc;
using System.Drawing.Printing;
namespace PrintOnCustomSizedPaper
{
class Program
{
static void Main(string[] args)
{
// ドキュメントオブジェクトを作成
Document doc = new Document();
// Wordドキュメントをロード
doc.LoadFromFile("Sample.docx");
// PrintDocumentオブジェクトを取得
PrintDocument printDoc = doc.PrintDocument;
// プリンタ名を指定
printDoc.PrinterSettings.PrinterName = "NPI7FE2DF(HP Color LaserJet MFP M281fdw)";
// 用紙サイズを指定
printDoc.DefaultPageSettings.PaperSize = new PaperSize("custom", 500, 800);
// ドキュメントを印刷
printDoc.Print();
}
}
}
1 枚のシートに複数ページを印刷することは、紙の節約やコンパクトな冊子の作成に役立ちます。複数ページを 1 枚に印刷する手順は以下の通りです。
注: この機能は .NET Framework 5.0 以降には対応していません。
using Spire.Doc;
using Spire.Doc.Printing;
using System.Drawing.Printing;
namespace PrintMultiplePagesOnOneSheet
{
internal class Program
{
static void Main(string[] args)
{
// Documentクラスのインスタンスを作成
Document doc = new Document();
// Wordドキュメントをロード
doc.LoadFromFile("Sample.docx");
// PrintDocumentオブジェクトを取得
PrintDocument printDoc = doc.PrintDocument;
// 片面印刷を有効にする
printDoc.PrinterSettings.Duplex = Duplex.Simplex;
// 1枚の用紙に印刷するページ数を指定してドキュメントを印刷
doc.PrintMultipageToOneSheet(PagesPreSheet.TwoPages, false);
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
Word 表の罫線を追加、変更、削除することで、データの可読性、美しさ、整理が向上します。罫線を追加することで、セルごとの内容が明確になり、情報を迅速に見分けやすくなります。罫線のスタイル(線の太さ、色、パターンなど)を変更することで、重要なデータを強調したり、視覚的な流れを導いたり、特定の文書スタイルやデザイン要件に適合させることができます。一方で、罫線を削除することで、視覚的な混雑を抑え、データをよりコンパクトでミニマルに表現できる場合もあります。特に厳密な区切りが不要なデータの提示や、構造の視覚的な強調を避けたい場合に適しています。
この記事では、C# プロジェクトで Spire.Doc for .NET を使用して、Word 表の罫線を追加、変更、削除する方法を紹介します。
まず、Spire.Doc for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.Doc
Word 表全体のセルに罫線を設定するには、各セルを繰り返し処理し、その視覚的な罫線プロパティを設定する必要があります。以下は詳細な手順です:
using Spire.Doc;
namespace SpireDocDemo
{
internal class Program
{
static void Main(string[] args)
{
// 新しいDocumentオブジェクトを作成
Document doc = new Document();
// ファイルから文書をロード
doc.LoadFromFile("Sample.docx");
// 文書の最初のセクションを取得
Section section = doc.Sections[0];
// そのセクションの最初のテーブルを取得
Table table = (Table)section.Tables[0];
// ループ内で使用するTableRowとTableCell変数を宣言
TableRow tableRow;
TableCell tableCell;
// テーブル内のすべての行を反復処理
for (int i = 0; i < table.Rows.Count; i++)
{
// 現在の行を取得
tableRow = table.Rows[i];
// 現在の行内のすべてのセルを反復処理
for (int j = 0; j < tableRow.Cells.Count; j++)
{
// 現在のセルを取得
tableCell = tableRow.Cells[j];
// 現在のセルの枠線スタイルを単一線に設定
tableCell.CellFormat.Borders.BorderType = Spire.Doc.Documents.BorderStyle.Single;
}
}
// 変更された文書を新しいファイルとして保存
doc.SaveToFile("output/Wordの表に罫線を追加.docx");
// リソースを解放するために文書を閉じる
doc.Close();
}
}
}
Spire.Doc では、TableCell.CellFormat.Borders.BorderType(罫線のスタイル)、TableCell.CellFormat.Borders.LineWidth(罫線の幅)、TableCell.CellFormat.Borders.Color(罫線の色)など、さまざまな罫線プロパティを提供しています。これらのプロパティをカスタマイズして、目的の効果を実現できます。以下は詳細な手順です:
using Spire.Doc;
using Spire.Doc.Documents;
using System.Drawing;
namespace SpireDocDemo
{
internal class Program
{
static void Main(string[] args)
{
// 新しいDocumentオブジェクトを作成
Document doc = new Document();
// ファイルから文書をロード
doc.LoadFromFile("output/Wordの表に罫線を追加.docx");
// 文書の最初のセクションを取得
Section section = doc.Sections[0];
// そのセクションの最初のテーブルを取得
Table table = (Table)section.Tables[0];
// ループ内で使用するTableRowを宣言
TableRow tableRow;
// テーブルのすべての行を反復処理
for (int i = 1; i < table.Rows.Count - 1; i++)
{
tableRow = table.Rows[i];
// 現在のセルの境界線の色を設定
tableRow.Cells[1].CellFormat.Borders.Bottom.Color = Color.PaleVioletRed;
// 現在のセルの境界線スタイルをDotDashに設定
tableRow.Cells[1].CellFormat.Borders.Bottom.BorderType = BorderStyle.DotDash;
// 境界線の幅を設定
tableRow.Cells[1].CellFormat.Borders.Bottom.LineWidth = 2;
}
// 変更された文書を新しいファイルとして保存
doc.SaveToFile("output/Wordの表の罫線を変更.docx", FileFormat.Docx2016);
// 文書を閉じてリソースを解放
doc.Close();
}
}
}
Word 文書を扱う際、罫線スタイルは表全体に適用されるだけでなく、個々のセルにも拡張してカスタマイズすることが可能です。表のすべての罫線を完全に削除するには、まず表自体に対して罫線削除設定を適用し、その後、各セルを個別に処理して罫線スタイルをクリアすることが推奨されます。以下は詳細な手順です:
using Spire.Doc;
using Spire.Doc.Documents;
namespace SpireDocDemo
{
internal class Program
{
static void Main(string[] args)
{
// 新しいDocumentオブジェクトを作成
Document doc = new Document();
// ファイルから文書をロード
doc.LoadFromFile("output/Wordの表に罫線を追加.docx");
// 文書の最初のセクションを取得
Section section = doc.Sections[0];
// そのセクションの最初のテーブルを取得
Table table = (Table)section.Tables[0];
// テーブルの枠線を削除
table.TableFormat.Borders.BorderType = BorderStyle.None;
// ループで使用するTableRowを宣言
TableRow tableRow;
// テーブル内のすべての行を反復処理
for (int i = 0; i < table.Rows.Count; i++)
{
tableRow = table.Rows[i];
for (int j = 0; j < tableRow.Cells.Count; j++)
{
// セルのすべての枠線を削除
tableRow.Cells[j].CellFormat.Borders.BorderType = BorderStyle.None;
}
}
// 変更された文書を新しいファイルとして保存
doc.SaveToFile("output/Wordの表の罫線を削除.docx", FileFormat.Docx2016);
// リソースを解放するために文書を閉じる
doc.Close();
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
Word 文書内の表には、財務データや調査結果、統計記録など、貴重な情報が含まれていることがよくあります。これらの表に含まれるデータを抽出することで、詳細なデータ分析やトレンドの特定、他のツールやデータベースとのシームレスな統合など、さまざまな目的に活用できるチャンスが広がります。この記事では、C# を使用して、Spire.Doc for .NET を用いて Word 文書から表を抽出する方法を紹介します。
まず、Spire.Doc for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.Doc
Spire.Doc for .NET では、Section.Tables プロパティを使用して、Word 文書のセクションに含まれる表にアクセスできます。このプロパティは、各セクション内の表を表す ITable オブジェクトのコレクションを返します。ITable オブジェクトを取得したら、各行やセルを繰り返し処理し、cell.Paragraphs[index].Text プロパティを使用して各セルのテキスト内容を取得します。表を抽出する手順は以下の通りです:
using Spire.Doc;
using Spire.Doc.Collections;
using Spire.Doc.Interface;
using System.IO;
using System.Text;
namespace ExtractWordTable
{
internal class Program
{
static void Main(string[] args)
{
// Documentクラスのオブジェクトを作成
Document doc = new Document();
// Word文書をロード
doc.LoadFromFile("Sample.docx");
// 文書内のセクションを反復処理
for (int sectionIndex = 0; sectionIndex < doc.Sections.Count; sectionIndex++)
{
// 現在のセクションを取得
Section section = doc.Sections[sectionIndex];
// セクションのテーブルコレクションを取得
TableCollection tables = section.Tables;
// セクション内のテーブルを反復処理
for (int tableIndex = 0; tableIndex < tables.Count; tableIndex++)
{
// 現在のテーブルを取得
ITable table = tables[tableIndex];
// テーブルデータを格納する文字列を初期化
string tableData = "";
// テーブル内の行を反復処理
for (int rowIndex = 0; rowIndex < table.Rows.Count; rowIndex++)
{
// 現在の行を取得
TableRow row = table.Rows[rowIndex];
// 行内のセルを反復処理
for (int cellIndex = 0; cellIndex < row.Cells.Count; cellIndex++)
{
// 現在のセルを取得
TableCell cell = table.Rows[rowIndex].Cells[cellIndex];
// セル内のテキストを取得
string cellText = "";
for (int paraIndex = 0; paraIndex < cell.Paragraphs.Count; paraIndex++)
{
cellText += (cell.Paragraphs[paraIndex].Text.Trim() + " ");
}
// テキストを文字列に追加
tableData += cellText.Trim();
if (cellIndex < table.Rows[rowIndex].Cells.Count - 1)
{
tableData += "\t";
}
}
// 改行を追加
tableData += "\n";
}
// テーブルデータをテキストファイルに保存
string filePath = Path.Combine("Tables", $"Section{sectionIndex + 1}_Table{tableIndex + 1}.txt");
File.WriteAllText(filePath, tableData, Encoding.UTF8);
}
}
doc.Close();
}
}
}
抽出した表データをテキストファイルに保存するだけでなく、Spire.XLS for .NET ライブラリを使用して Excel ワークシートに直接書き込むこともできます。Spire.XLS for .NET を使用する前に、NuGet を介してインストールする必要があります:
Install-Package Spire.XLS
Word 文書から Excel ワークシートに表を抽出する手順は以下の通りです:
using Spire.Doc;
using Spire.Doc.Interface;
using Spire.Xls;
namespace ExtractWordTableToExcel
{
internal class Program
{
static void Main(string[] args)
{
// Documentクラスのオブジェクトを作成
Document doc = new Document();
// Word文書をロード
doc.LoadFromFile("Sample.docx");
// Workbookクラスのオブジェクトを作成
Workbook wb = new Workbook();
// デフォルトのワークシートを削除
wb.Worksheets.Clear();
// 文書内のセクションを反復処理
for (int sectionIndex = 0; sectionIndex < doc.Sections.Count; sectionIndex++)
{
// 現在のセクションを取得
Section section = doc.Sections[sectionIndex];
// セクション内のテーブルを反復処理
for (int tableIndex = 0; tableIndex < section.Tables.Count; tableIndex++)
{
// 現在のテーブルを取得
ITable table = section.Tables[tableIndex];
// ワークブックにワークシートを追加
Worksheet ws = wb.Worksheets.Add($"Section{sectionIndex + 1}_Table{tableIndex + 1}");
// テーブル内の行を反復処理
for (int rowIndex = 0; rowIndex < table.Rows.Count; rowIndex++)
{
// 現在の行を取得
TableRow row = table.Rows[rowIndex];
// 行内のセルを反復処理
for (int cellIndex = 0; cellIndex < row.Cells.Count; cellIndex++)
{
// 現在のセルを取得
TableCell cell = row.Cells[cellIndex];
// セル内のテキストを取得
string cellText = "";
for (int paraIndex = 0; paraIndex < cell.Paragraphs.Count; paraIndex++)
{
cellText += (cell.Paragraphs[paraIndex].Text.Trim() + " ");
}
// セルのテキストをワークシートに書き込む
ws.SetCellValue(rowIndex + 1, cellIndex + 1, cellText);
}
// ワークシート内の列幅を自動調整
ws.Range.AutoFitColumns();
}
}
}
// ワークブックをExcelファイルに保存
wb.SaveToFile("Tables/Wordの表をExcelに抽出.xlsx", ExcelVersion.Version2016);
doc.Close();
wb.Dispose();
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
Word 文書内の表は、データを明確かつ構造的に整理するのに役立ちます。しかし、文書が複雑になるにつれて、表の構造を調整する必要が生じることがあります。複数の表を結合して包括的に表示したり、大きな表を分割して可読性を向上させたりすることで、データの提示が大幅に改善されます。この記事では、Spire.Doc for .NET を使用して、C# で Word 文書内の表を結合または分割する方法を説明します。
まず、Spire.Doc for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.Doc
Spire.Doc for .NET を使用すると、他の表からすべての行を対象の表にコピーし、その後他の表を削除することで、2つ以上の表を1つに結合できます。以下はその詳細手順です。
using Spire.Doc;
namespace CombineTables
{
class Program
{
static void Main(string[] args)
{
// ドキュメントのインスタンスを作成
Document doc = new Document();
// Word ドキュメントを読み込む
doc.LoadFromFile("Sample.docx");
// 最初のセクションを取得
Section section = doc.Sections[0];
// セクション内の最初と2番目のテーブルを取得
Table table1 = section.Tables[0] as Table;
Table table2 = section.Tables[1] as Table;
// table2の行をtable1に追加
for (int i = 0; i < table2.Rows.Count; i++)
{
table1.Rows.Add(table2.Rows[i].Clone());
}
// table2を削除
section.Tables.Remove(table2);
// 結果のドキュメントを保存
doc.SaveToFile("Word文書内の表をマージ.docx", FileFormat.Docx);
doc.Close();
}
}
}
表を2つ以上に分割するには、新しい表を作成し、元の表から指定した行を新しい表にコピーし、元の表からそれらの行を削除します。以下はその詳細手順です。
using Spire.Doc;
namespace SplitWordTable
{
class Program
{
static void Main(string[] args)
{
// ドキュメントのインスタンスを作成
Document doc = new Document();
// Word ドキュメントを読み込む
doc.LoadFromFile("Word文書内の表をマージ.docx");
// 最初のセクションを取得
Section section = doc.Sections[0];
// セクション内の最初のテーブルを取得
Table table = section.Tables[0] as Table;
// テーブルを5行目から分割するように指定
int splitIndex = 5;
// 同じスタイルで新しいテーブルを作成
Table newTable = table.Clone();
newTable.Rows.Clear();
// 5行目から最後の行までを新しいテーブルに追加
for (int i = splitIndex; i < table.Rows.Count; i++)
{
newTable.Rows.Add(table.Rows[i].Clone());
}
// 元のテーブルから行を削除
for (int i = table.Rows.Count - 1; i >= splitIndex; i--)
{
table.Rows.RemoveAt(i);
}
// 新しいテーブルをセクションに追加
section.Tables.Add(newTable);
// 結果のドキュメントを保存
doc.SaveToFile("Word文書内の表を分割.docx", FileFormat.Docx);
doc.Close();
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
Word 文書の表で列の幅を設定することは、文書の可読性と美観を最適化するために重要です。適切な列幅は、長いテキスト行が可読性を妨げるのを防ぎ、特にテキストが密に詰まった表ではその効果が顕著です。Word 文書では、パーセントと固定値の2つのアプローチを提供しています。パーセント値を使用して列幅を設定することで、異なる画面サイズに応じて表を調整し、コンテンツが整然と配置され、読みやすさが向上します。一方、固定値を使用することで、表の構造を正確に制御でき、一貫性とプロフェッショナリズムが確保され、厳格なデータ配置要件や複雑なレイアウトが求められるデザインに適しています。
この記事では、C# プロジェクトで Spire.Doc for .NET を使用して、Word 文書の表の列幅をパーセントまたは固定値に基づいて設定する方法を紹介します。
まず、Spire.Doc for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.Doc
Word の表で列幅をパーセント値で設定する際には、まず表の優先幅のタイプをパーセントに設定する必要があります。これは、Table.PreferredWidth = new PreferredWidth(WidthType.Percentage, (short)100) で行います。その後、各列を繰り返し処理し、必要に応じて同じまたは異なるパーセント値を設定します。以下は詳細な手順です。
using Spire.Doc;
namespace SpireDocDemo
{
internal class Program
{
static void Main(string[] args)
{
// 新しいDocumentオブジェクトを作成
Document doc = new Document();
// "Sample.docx"という名前のドキュメントを読み込む
doc.LoadFromFile("Sample.docx");
// ドキュメントの最初のセクションを取得
Section section = doc.Sections[0];
// セクション内の最初のテーブルをTable型にキャスト
Table table = (Table)section.Tables[0];
// PreferredWidthオブジェクトを作成し、幅タイプをパーセンテージに設定し、幅の値を100%に設定
PreferredWidth percentageWidth = new PreferredWidth(WidthType.Percentage, (short)100);
// テーブルの推奨幅を上で作成したPreferredWidthオブジェクトに設定
table.PreferredWidth = percentageWidth;
// TableRow型の変数を定義
TableRow tableRow;
// テーブル内のすべての行を繰り返し処理
for (int i = 0; i < table.Rows.Count; i++)
{
// 現在の行を取得
tableRow = table.Rows[i];
// 最初の列のセルの幅を34%に設定し、タイプをパーセンテージに設定
tableRow.Cells[0].SetCellWidth(34, CellWidthType.Percentage);
// 2番目の列のセルの幅を33%に設定し、タイプをパーセンテージに設定
tableRow.Cells[1].SetCellWidth(33, CellWidthType.Percentage);
// 3番目の列のセルの幅を33%に設定し、タイプをパーセンテージに設定
tableRow.Cells[2].SetCellWidth(33, CellWidthType.Percentage);
}
// 修正したドキュメントを保存し、ファイル形式をDocx2016として指定
doc.SaveToFile("output/パーセントで列幅を設定.docx", FileFormat.Docx2016);
// ドキュメントを閉じる
doc.Close();
}
}
}
Word の表で列幅を固定値で設定する際には、まず表のレイアウトを固定に設定する必要があります。これは、Table.TableFormat.LayoutType = LayoutType.Fixed で行います。その後、各列を繰り返し処理し、必要に応じて同じまたは異なる固定値を設定します。以下は詳細な手順です。
using Spire.Doc;
namespace SpireDocDemo
{
internal class Program
{
static void Main(string[] args)
{
// 新しいDocumentオブジェクトを作成
Document doc = new Document();
// ドキュメントを読み込む
doc.LoadFromFile("Sample.docx");
// ドキュメントの最初のセクションを取得
Section section = doc.Sections[0];
// セクション内の最初のテーブルをTable型にキャスト
Table table = (Table)section.Tables[0];
// テーブルレイアウトタイプを固定に設定
table.TableFormat.LayoutType = LayoutType.Fixed;
// テーブルの自動サイズ変更モードを無効に設定
table.TableFormat.IsAutoResized = false;
// 左マージンを取得
float leftMargin = section.PageSetup.Margins.Left;
// 右マージンを取得
float rightMargin = section.PageSetup.Margins.Right;
// 左右のマージンを引いたページ幅を計算
double pageWidth = section.PageSetup.PageSize.Width - leftMargin - rightMargin - 70;
// TableRow型の変数を定義
TableRow tableRow;
// テーブル内のすべての行をループ
for (int i = 0; i < table.Rows.Count; i++)
{
// 現在の行を取得
tableRow = table.Rows[i];
// 最初の列のセルの幅をページ幅の34%に設定
tableRow.Cells[0].SetCellWidth((float)(pageWidth * 0.34), CellWidthType.Point);
// 2番目の列のセルの幅をページ幅の33%に設定
tableRow.Cells[1].SetCellWidth((float)(pageWidth * 0.33), CellWidthType.Point);
// 3番目の列のセルの幅をページ幅の33%に設定
tableRow.Cells[2].SetCellWidth((float)(pageWidth * 0.33), CellWidthType.Point);
}
// 修正したドキュメントを保存し、ファイル形式をDocx2016として指定
doc.SaveToFile("output/固定値で列幅を設定.docx", FileFormat.Docx2016);
// ドキュメントを閉じる
doc.Close();
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
Word 文書のコメント機能は、文書の内容を変更したり中断させたりせずに、他の人が自分の意見や見解を追加するのに最適な方法を提供します。誰かが文書にコメントを付けると、文書の作成者や他のユーザーがそのコメントに返信し、文書を同時に閲覧していなくても、コメントを通じて議論を行うことができます。この記事では、Spire.Doc for .NET を使用して C# で Word 文書にコメントを追加、返信、または削除する方法を説明します。
まず、Spire.Doc for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.Doc
Spire.Doc for .NET では、Paragraph.AppendComment() メソッドを使用して特定の段落にコメントを追加できます。以下はその手順です:
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
namespace AddComments
{
internal class Program
{
static void Main(string[] args)
{
// Documentクラスのインスタンスを初期化する
Document document = new Document();
// Wordドキュメントを読み込む
document.LoadFromFile("Sample.docx");
// ドキュメント内の最初のセクションを取得する
Section section = document.Sections[0];
// セクション内の最初の段落を取得する
Paragraph paragraph = section.Paragraphs[4];
// 段落にコメントを追加する
Comment comment = paragraph.AppendComment("LEDスクリーン技術の詳細については、この段落で説明する必要がある。");
// コメントの作成者を設定する
comment.Format.Author = "Janny";
comment.Format.Initial = "J";
// 結果のドキュメントを保存する
document.SaveToFile("output/段落にコメントを追加.docx");
document.Close();
}
}
}
Paragraph.AppendComment() メソッドは段落全体にコメントを追加するためのものです。デフォルトでは、コメントマークは段落の末尾に配置されます。特定のテキストにコメントを追加するには、Document.FindString() メソッドを使用してテキストを検索し、そのテキストの先頭と末尾にコメントマークを配置する必要があります。以下はその手順です:
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
namespace AddCommentsToText
{
internal class Program
{
static void Main(string[] args)
{
// Documentクラスのインスタンスを初期化する
Document document = new Document();
// Wordドキュメントを読み込む
document.LoadFromFile("Sample.docx");
// 特定の文字列を検索する
TextSelection find = document.FindString("紙幣", false, true);
// コメント開始マークとコメント終了マークを作成する
CommentMark commentmarkStart = new CommentMark(document);
commentmarkStart.Type = CommentMarkType.CommentStart;
CommentMark commentmarkEnd = new CommentMark(document);
commentmarkEnd.Type = CommentMarkType.CommentEnd;
// コメントを作成し、その内容と作成者を設定する
Comment comment = new Comment(document);
comment.Body.AddParagraph().Text = "紙幣がいつどこで発明されたのか、詳細を知りたい。";
comment.Format.Author = "Sam";
// 見つかった文字列を単一のテキスト範囲として取得する
TextRange range = find.GetAsOneRange();
// テキスト範囲の所有者段落を取得する
Paragraph para = range.OwnerParagraph;
// 段落にコメントを追加する
para.ChildObjects.Add(comment);
// 段落内のテキスト範囲のインデックスを取得する
int index = para.ChildObjects.IndexOf(range);
// コメントマーク開始とコメントマーク終了にコメントIDを設定する
commentmarkStart.CommentId = comment.Format.CommentId;
commentmarkEnd.CommentId = comment.Format.CommentId;
// テキスト範囲の前にコメント開始マークを挿入する
para.ChildObjects.Insert(index, commentmarkStart);
// テキスト範囲の後にコメント終了マークを挿入する
para.ChildObjects.Insert(index + 2, commentmarkEnd);
// 結果のドキュメントを保存する
document.SaveToFile("output/テキストにコメントを追加.docx");
document.Close();
}
}
}
既存のコメントに返信を追加するには、Comment.ReplyToComment() メソッドを使用します。以下はその手順です:
using Spire.Doc;
using Spire.Doc.Fields;
namespace ReplyToComments
{
internal class Program
{
static void Main(string[] args)
{
// Documentクラスのインスタンスを初期化する
Document document = new Document();
// Wordドキュメントを読み込む
document.LoadFromFile("output/テキストにコメントを追加.docx");
// ドキュメント内の最初のコメントを取得する
Comment comment1 = document.Comments[0];
// 新しいコメントを作成し、その作成者と内容を指定する
Comment replyComment1 = new Comment(document);
replyComment1.Format.Author = "Jack";
replyComment1.Body.AddParagraph().AppendText("次のバージョンで追加する予定だ。");
// 最初のコメントへの返信としてコメントを追加する
comment1.ReplyToComment(replyComment1);
// 結果のドキュメントを保存する
document.SaveToFile("output/コメントへの返信.docx", FileFormat.Docx2013);
document.Close();
}
}
}
Spire.Doc for .NET では、Document.Comments.RemoveAt(int) メソッドを使用して特定のコメントを削除したり、Document.Comments.Clear() メソッドを使用してすべてのコメントを削除したりすることができます。以下はその手順です:
using Spire.Doc;
namespace DeleteComments
{
internal class Program
{
static void Main(string[] args)
{
// Documentクラスのインスタンスを初期化する
Document document = new Document();
// Wordドキュメントを読み込む
document.LoadFromFile("output/コメントへの返信.docx");
// ドキュメント内の最初のコメントを削除する
//document.Comments.RemoveAt(0);
// ドキュメント内のすべてのコメントを削除する
document.Comments.Clear();
// 結果のドキュメントを保存する
document.SaveToFile("output/コメントを削除.docx", FileFormat.Docx2013);
document.Close();
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
Word ドキュメントで表の行と列を追加・削除する機能は、情報の正確性、明確さ、関連性を維持するために非常に重要です。追加の行や列を加えることで、表の元の構造を変更し、データの変化に対応することができます。逆に、不必要な行や列を削除することで、ドキュメントを簡潔にし、読みやすくすることが可能です。本記事では、C# で Spire.Doc for .NET を使用して Word ドキュメント内の表の行と列を追加または削除する方法を紹介します。
まず、Spire.Doc for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.Doc
Spire.Doc for .NET を使用すると、Table.AddRow() または Table.Rows.Insert() メソッドを用いて、Word ドキュメント内の表の末尾に行を追加したり、特定の位置に行を挿入したりすることができます。以下に詳細な手順を示します。
using Spire.Doc;
namespace AddRows
{
class Program
{
static void Main(string[] args)
{
//Documentオブジェクトを作成
Document doc = new Document();
//Wordドキュメントを読み込む
doc.LoadFromFile("Sample.docx");
//最初のセクションを取得
Section section = doc.Sections[0];
//セクション内の最初の表を取得
Table table = (Table)section.Tables[0];
//表の3行目に行を挿入
table.Rows.Insert(2, table.AddRow());
//表の末尾に行を追加
table.AddRow();
//結果を保存
doc.SaveToFile("output/表の行を追加.docx");
doc.Close();
}
}
}
Spire.Doc for .NET には、Word ドキュメント内の表に列を直接追加・挿入するためのメソッドがありません。しかし、TableRow.AddCell() または TableRow.Cells.Insert() メソッドを用いて、各表行の特定の位置にセルを追加・挿入することで、この操作を実現できます。以下に詳細な手順を示します。
using Spire.Doc;
namespace AddColumns
{
class Program
{
static void Main(string[] args)
{
//Documentオブジェクトを作成
Document doc = new Document();
//Wordドキュメントを読み込む
doc.LoadFromFile("Sample.docx");
//最初のセクションを取得
Section section = doc.Sections[0];
//セクション内の最初の表を取得
Table table = (Table)section.Tables[0];
//表内の行をループ処理
for (int i = 0; i < table.Rows.Count; i++)
{
//指定された行を取得
TableRow row = table.Rows[i];
//TableCellオブジェクトを作成
TableCell cell = new TableCell(table.Document);
//行の3番目のセルとして挿入
row.Cells.Insert(2, cell);
//セルの幅を設定
row.Cells[2].SetCellWidth(40, CellWidthType.Point);
//行の末尾にセルを追加
row.AddCell();
}
//結果を保存
doc.SaveToFile("output/表の列を追加.docx");
doc.Close();
}
}
}
Word ドキュメント内の表から特定の行を削除するには、Table.Rows.RemoveAt() メソッドを直接使用できます。一方、特定の列を削除するには、各表行から対応するセルを TableRow.Cells.RemoveAt() メソッドで削除する必要があります。以下に詳細な手順を示します。
using Spire.Doc;
namespace AddColumns
{
class Program
{
static void Main(string[] args)
{
//Documentオブジェクトを作成
Document doc = new Document();
//Wordドキュメントを読み込む
doc.LoadFromFile("Sample.docx");
//最初のセクションを取得
Section section = doc.Sections[0];
//セクション内の最初の表を取得
Table table = (Table)section.Tables[0];
//4行目を削除
table.Rows.RemoveAt(1);
//表内の行をループ処理
for (int i = 0; i < table.Rows.Count; i++)
{
//指定された行を取得
TableRow row = table.Rows[i];
//行から2番目のセルを削除
row.Cells.RemoveAt(2);
}
//結果を保存
doc.SaveToFile("output/行と列の削除.docx");
doc.Close();
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
Word 文書のページ罫線は、文書の視覚的な魅力や組織性を向上させるための有効なツールです。ページ罫線の追加、変更、削除を効果的に行うことで、Word 文書の外観をカスタマイズし、全体的なプレゼンテーションの質を高めることができます。
この記事では、C# で Spire.Doc for .NET を使用して、Word 文書のページ罫線を管理する方法を紹介します。
まず、Spire.Doc for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.Doc
Spire.Doc for .NET は、Word 文書のページ罫線を管理するために Borders クラスを提供しています。このクラスは、罫線の種類(BorderType)、色(Color)、線の太さ(LineWidth)など、ページ罫線の外観を制御するためのプロパティを提供します。C# を使用して Word 文書のすべてのページに罫線を追加する手順は次のとおりです。
using Spire.Doc;
using Spire.Doc.Documents;
using System.Drawing;
namespace WordPageBorderAllPage
{
class Program
{
static void Main(string[] args)
{
// Documentクラスのインスタンスを作成
Document doc = new Document();
// Wordドキュメントを読み込む
doc.LoadFromFile("Sample.docx");
// ドキュメント内のセクションを反復処理
foreach (Section section in doc.Sections)
{
// セクションのPageSetupオブジェクトを取得
PageSetup pageSetup = section.PageSetup;
// セクション内の全ページにページ罫線を適用
pageSetup.PageBordersApplyType = PageBordersApplyType.AllPages;
// セクションの罫線オブジェクトを取得
Borders borders = pageSetup.Borders;
// ページ罫線の種類を設定
borders.BorderType = BorderStyle.Double;
// 罫線の幅を設定
borders.LineWidth = 3;
// 罫線とテキストの間のスペースを設定
borders.Top.Space = 50;
borders.Bottom.Space = 50;
borders.Left.Space = 50;
borders.Right.Space = 50;
// 罫線の色を設定
borders.Color = Color.AliceBlue;
}
// ドキュメントを保存
doc.SaveToFile("output/全ページのページ罫線.docx");
doc.Close();
}
}
}
既存の Word 文書のページ罫線は、PageSetup.Borders クラスを通じてアクセスでき、Borders オブジェクトのプロパティを使用して外観を変更できます。C# を使用して Word 文書のページ罫線を変更する手順は次のとおりです。
using Spire.Doc;
using Spire.Doc.Documents;
using System.Drawing;
namespace ModifyWordPageBorder
{
class Program
{
static void Main(string[] args)
{
// Documentクラスのインスタンスを作成
Document doc = new Document();
// Wordドキュメントを読み込む
doc.LoadFromFile("output/全ページのページ罫線.docx");
// ドキュメント内のセクションを反復処理
foreach (Section section in doc.Sections)
{
// セクションの罫線オブジェクトを取得
Borders borders = section.PageSetup.Borders;
// 罫線の種類を変更
borders.BorderType = BorderStyle.DoubleWave;
// 罫線の色を変更
borders.Color = Color.Cyan;
// 罫線の幅を変更
borders.LineWidth = 1;
}
// ドキュメントを保存
doc.SaveToFile("output/ページ罫線を変更.docx");
doc.Close();
}
}
}
Word 文書のページ罫線を削除するには、単に Borders.BorderType プロパティを BorderStyle.None に設定します。具体的な手順は次のとおりです。
using Spire.Doc;
using Spire.Doc.Documents;
namespace RemoveWordPageBorders
{
class Program
{
static void Main(string[] args)
{
// Documentクラスのインスタンスを作成
Document doc = new Document();
// Wordドキュメントを読み込む
doc.LoadFromFile("output/ページ罫線を変更.docx");
// ドキュメント内のセクションを反復処理
foreach (Section section in doc.Sections)
{
// セクションの罫線オブジェクトを取得
Borders borders = section.PageSetup.Borders;
// 罫線を削除するために罫線の種類をNoneに設定
borders.BorderType = BorderStyle.None;
}
// ドキュメントを保存
doc.SaveToFile("output/ページ罫線を削除.docx");
doc.Close();
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
PowerPoint プレゼンテーションには、オーディエンスを追加のリソースやプレゼンテーション内の別の場所に誘導するハイパーリンクが含まれていることがよくあります。これらのリンクは、追加情報を提供したり、簡単にナビゲートしたりするのに役立ちますが、プレゼンテーションの流れを妨げたり、プロフェッショナルな外観を損なう場合があります。スライド内の無効なリンクや不要なリンクを削除することで、プレゼンテーションの全体的な質を向上させることができます。
この記事では、C# プログラムで Spire.Presentation for .NET を使用して、PowerPoint プレゼンテーションからハイパーリンクを効率的に削除する方法を紹介します。
まず、Spire.Presentation for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.Presentation
PowerPoint プレゼンテーションの通常のテキストは、自動シェイプ(AutoShape)に含まれています。開発者は、IAutoShape.TextFrame.Paragraphs[].TextRanges[] プロパティを使用してこれらのシェイプ内のテキスト範囲にアクセスし、TextRange.ClickAction プロパティを使用してハイパーリンクを読み取ったり設定したりすることができます。テキストのハイパーリンクは、TextRange.ClickAction プロパティを null に設定することで削除できます。
詳細な手順は次のとおりです:
using Spire.Presentation;
namespace RemoveSlideTextLink
{
class Program
{
public static void Main(string[] args)
{
// Presentationのインスタンスを作成し、PowerPointプレゼンテーションを読み込む
Presentation presentation = new Presentation();
presentation.LoadFromFile("Sample.pptx");
// プレゼンテーション内のスライドを繰り返し処理
foreach (ISlide slide in presentation.Slides)
{
// スライド内の図形を繰り返し処理
foreach (IShape shape in slide.Shapes)
{
// 現在の図形がIAutoShapeクラスのインスタンスかどうかを確認
if (shape is IAutoShape)
{
IAutoShape autoShape = (IAutoShape)shape;
// 図形内の段落を繰り返し処理
foreach (TextParagraph paragraph in autoShape.TextFrame.Paragraphs)
{
// 段落内のテキスト範囲を繰り返し処理
foreach (TextRange textRange in paragraph.TextRanges)
{
// テキスト範囲にハイパーリンクがあるかどうかを確認
if (textRange.ClickAction != null)
{
// ハイパーリンクを削除
textRange.ClickAction = null;
}
}
}
}
}
}
// プレゼンテーションを保存
presentation.SaveToFile("output/スライドテキストのハイパーリンクを削除.pptx", FileFormat.Auto);
presentation.Dispose();
}
}
}
IShape クラスは、スライド内のすべての種類のシェイプ(自動シェイプ、画像、テーブルなど)を表します。これらのすべてのシェイプ上のハイパーリンクは、IShape.Click プロパティを null に設定することで削除できます。詳細な手順は次のとおりです:
using Spire.Presentation;
namespace RemoveSlideShapeHyperlink
{
class Program
{
static void Main(string[] args)
{
// Presentationクラスのインスタンスを作成し、PowerPointプレゼンテーションを読み込む
Presentation presentation = new Presentation();
presentation.LoadFromFile("Sample.pptx");
// プレゼンテーション内のスライドを繰り返し処理
foreach (ISlide slide in presentation.Slides)
{
// スライド内の図形を繰り返し処理
foreach (IShape shape in slide.Shapes)
{
// 図形にハイパーリンクがあるかどうかを確認
if (shape.Click != null)
{
shape.Click = null;
}
}
}
// プレゼンテーションを保存
presentation.SaveToFile("output/スライドシェイプのハイパーリンクを削除.pptx", FileFormat.Auto);
presentation.Dispose();
}
}
}
すべてのシェイプから直接ハイパーリンクを削除するだけでなく、削除する前にシェイプの種類を判別し、指定された種類のシェイプからのみハイパーリンクを見つけて削除することもできます。詳細な手順は次のとおりです:
using Spire.Presentation;
using Spire.Presentation.Charts;
namespace RemoveSlideShapeTypeHyperlink
{
class Program
{
static void Main(string[] args)
{
// Presentationクラスのインスタンスを作成し、PowerPointプレゼンテーションを読み込む
Presentation presentation = new Presentation();
presentation.LoadFromFile("Sample.pptx");
// プレゼンテーション内のスライドを繰り返し処理
foreach (ISlide slide in presentation.Slides)
{
// スライド内の図形を繰り返し処理
foreach (IShape shape in slide.Shapes)
{
// 図形がIEmbedImage、ITable、またはIChartのインスタンスかどうかを確認
if (shape is IEmbedImage || shape is ITable || shape is IChart)
{
// シェイプにハイパーリンクがあるかどうかを確認
if (shape.Click != null)
{
// ハイパーリンクを削除
shape.Click = null;
}
}
}
}
// プレゼンテーションを保存
presentation.SaveToFile("output/スライドシェイプ型のハイパーリンクを削除.pptx", FileFormat.Auto);
presentation.Dispose();
}
}
}
テーブル内のテキストからハイパーリンクを削除するには、テーブルのセルと各セル内のテキスト範囲を繰り返し処理する必要があります。その後、各セル内のテキスト範囲にあるハイパーリンクを TextRange.ClickAction プロパティを null に設定することで削除できます。詳細な手順は次のとおりです:
using Spire.Presentation;
namespace RemoveSlideTableTextHyperlink
{
class Program
{
static void Main(string[] args)
{
// Presentationクラスのインスタンスを作成し、PowerPointプレゼンテーションを読み込む
Presentation presentation = new Presentation();
presentation.LoadFromFile("Sample.pptx");
// プレゼンテーション内のスライドを繰り返し処理
foreach (ISlide slide in presentation.Slides)
{
// スライド内の図形を繰り返し処理
foreach (IShape shape in slide.Shapes)
{
// 図形がITableのインスタンスかどうかを確認
if (shape is ITable)
{
ITable table = (ITable)shape;
// テーブル内の行を繰り返し処理
foreach (TableRow row in table.TableRows)
{
// 行内のセルを繰り返し処理
foreach (Cell cell in row)
{
// セル内の段落を繰り返し処理
foreach (TextParagraph paragraph in cell.TextFrame.Paragraphs)
{
// 段落内のテキスト範囲を繰り返し処理
foreach (TextRange textRange in paragraph.TextRanges)
{
// テキスト範囲にハイパーリンクがあるかどうかを確認
if (textRange.ClickAction != null)
{
// ハイパーリンクを削除
textRange.ClickAction = null;
}
}
}
}
}
}
}
}
// プレゼンテーションを保存
presentation.SaveToFile("output/スライドテーブルのテキストハイパーリンクを削除.pptx", FileFormat.Auto);
presentation.Dispose();
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。