0

InputBox()Excel を使用して、シートまたはタブをクリックしてシートの名前を取得したいと考えています。ただし、次のコードを使用すると:

Excel.Application _excel = this.Application; // this refers to an C# excel addin.
// ...
var result = _excel.InputBox(
             "prompt",
             "Sheet Selection",
             Type.Missing,
             Type.Missing,
             Type.Missing,
             Type.Missing,
             Type.Missing,
             Type.Missing);

私は結果を得る

「='シート名'!」

しかし、代わりに私が欲しいのは

「シート名」

ここでInputBox述べたように、テキスト指定子 (2)を使用してみましたが、違いはないようです。私が間違っていることはありますか?

編集

範囲をキャプチャすると、それを使用して必要なシート名を推測できることがわかりました。

Excel.Range result = _excel.InputBox(
                                     prompt,
                                     "Sheet Selection",
                                     Type.Missing,
                                     Type.Missing,
                                     Type.Missing,
                                     Type.Missing,
                                     Type.Missing,
                                     Type.Missing) as Excel.Range;

if (result == null)
   return null;
return result.Worksheet.Name;
4

0 に答える 0