バックグラウンド:
Office 用の Javascript API を使用して、MS Excel 内に Web アプリを構築しています。アプリに追加する機能の 1 つは、アプリからデータを編集する機能です。setDataAsync
そのデータは、APIの関数を介して Excel ドキュメントに送信されます。プレーンテキストで機能します。
メールアドレスに関して奇妙な問題が発生しています。電子メール アドレスをセルに手動で入力すると、Excel によって自動的にmailto:
ハイパーリンクの書式が設定されます。これは、Javascript でデータを設定した場合には発生しません。Excel にオートフォーマットを強制する方法を見つける必要があります。
私が持っていた別のアイデアの1つは、次を使用して、データを自分でリンクに事前フォーマットすることです。
=HYPERLINK("mailto:person@website.com","person@website.com")
ただし、誰かが手動でセルを調べると、アドレスだけでなく、長い数式が表示されます。そして、それを Web アプリに読み戻すのは悪夢です。
現在のコード:
function writeData(bindingID,newData,row,col) {
var newTable = new Office.TableData();
newTable.rows = [[newData]];
Office.select("bindings#"+bindingID).setDataAsync(newTable, {coercionType: "table", startRow: row, startColumn: col}, function (asyncResult) {
if (asyncResult.status == "failed") {
display('Error: ' + asyncResult.error.message);
}
});
}
質問:
Excel をオートフォーマットすることは可能ですか?