Excel ワークシートの各セルからハイパーリンクを削除する
このサンプルでは、現在のワークシートのすべてのハイパーリンクをクリアします。 ワークシートを走査し、セルに関連付けられているハイパーリンクがある場合は、ハイパーリンクをクリアしますが、セルの値はそのまま保持されます。 トラバーサルの完了にかかる時間もログに記録します。
注:
これは、セル数が < 10k の場合にのみ機能します。
セットアップ: Excel ファイルのサンプル
このブックには、スクリプトで想定されるデータ、オブジェクト、書式設定が含まれています。
サンプル コード: ハイパーリンクを削除する
サンプル ブックに次のスクリプトを追加し、サンプルを自分で試してください。
function main(workbook: ExcelScript.Workbook, sheetName: string = 'Sheet1') {
// Get the active worksheet.
let sheet = workbook.getWorksheet(sheetName);
// Get the used range to operate on.
// For large ranges (over 10000 entries), consider splitting the operation into batches for performance.
const targetRange = sheet.getUsedRange(true);
console.log(`Target Range to clear hyperlinks from: ${targetRange.getAddress()}`);
const rowCount = targetRange.getRowCount();
const colCount = targetRange.getColumnCount();
console.log(`Searching for hyperlinks in ${targetRange.getAddress()} which contains ${(rowCount * colCount)} cells`);
// Go through each individual cell looking for a hyperlink.
// This allows us to limit the formatting changes to only the cells with hyperlink formatting.
let clearedCount = 0;
for (let i = 0; i < rowCount; i++) {
for (let j = 0; j < colCount; j++) {
const cell = targetRange.getCell(i, j);
const hyperlink = cell.getHyperlink();
if (hyperlink) {
cell.clear(ExcelScript.ClearApplyTo.hyperlinks);
cell.getFormat().getFont().setUnderline(ExcelScript.RangeUnderlineStyle.none);
cell.getFormat().getFont().setColor('Black');
clearedCount++;
}
}
}
console.log(`Done. Cleared hyperlinks from ${clearedCount} cells`);
}
トレーニング ビデオ: Excel ワークシートの各セルからハイパーリンクを削除する
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
Office Scripts