0

バックグラウンド:

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 をオートフォーマットすることは可能ですか?

4

1 に答える 1

0

答え: できません。

MS フォーラムでもこの質問をしたところ、他の誰かが同じ問題を抱えている場合に備えて、ここに投稿したい回答が得られました。

テストと調査の結果、チェック後にセルのテキストに mailto リンクを自動的に設定するメソッドまたはプロパティが Office 用の JavaScript に提供されていないことを残念に思います。

SetDataAsync メソッドで挿入した後、セルを手動で再フォーマットする必要があります。

ルナ・チャン - MSFT (出典)

于 2014-10-27T15:27:03.177 に答える