2016-10-19 15 views
0

主にテーブルで機能するExcelタスクペインのアドインが構築されました。 TableCollection.add(rangeAddress、true)を実行するコードがいくつかあります。この呼び出しは、 'rangeAddress'のシート名に特殊文字が含まれていると失敗します。例えばシート名に特殊文字が含まれていると、TableCollection.addが 'InvalidArgument'エラーをスローします

-

ctx.workbook.tables.add(Sheet!A1:E4, true) 

正常に動作しますが、、

ctx.workbook.tables.add(Sheet-Name!A1:E4, true) 

がエラー

{ 
"name": "OfficeExtension.Error", 
"code": "InvalidArgument", 
"message": "The argument is invalid or missing or has an incorrect format.", 
"traceMessages": [], 
"debugInfo": { 
    "errorLocation": "TableCollection.add" 
} 

}

を投げるには、第二の例のアドレスは特殊文字を持っていることに注意してくださいそのシート名に「 - 」が付いています。シート名に特殊文字をサポートする方法はありますか?

+0

私はシート名と住所が引用されていると仮定しています...しかし、それ以外に、どのプラットフォーム(デスクトップ、オンライン、Mac、iOS)を使用していますか? –

+0

はい、rangeAddress(シート名とアドレス)は引用符で囲まれています(文字列)。これはすべてのプラットフォームで発生します(iOSについてはわかりません) –

+0

@MichaelZlatkovskyあなたはこれを再現できませんか?他の情報が必要ですか? –

答えて

1

問題はAPI自体ではありません。それはテーブルでもありません。

Excelでクロスシート参照を作成し、シート名に英数字以外の文字(またはそのようなもの)が含まれていない場合は、式が='Some-Hyphenated-Sheet'!C27と表示されます。シート名一重引用符で囲まれています

APIはネイティブのExcel機能を反映しているだけなので、シート名も一重引用符で囲む必要があります。つまり、

ctx.workbook.tables.add("'Sheet-Name'!A1:E4", true) 
+0

修正プログラムが動作します。ありがとう@マイケルズラトコフスキー –

関連する問題