Excel のSheet name取得方法

Excel application scope で開いたExcelのシート名を変数に格納したいと思っています。

「.GetSheets」で取得できるよ。。と言うHPを見つけたので、試していますが分からないでいます。
何方か教えてください。

GetTextで普通にできました。

GetTextのセレクタですが、次のようにしてあります。

<wnd cls='EXCEL7' title='*.xlsx' />
<ctrl name='*.xlsx' role='client' />
<ctrl name='シートのナビゲーション バー' role='client' />
<ctrl name='シート見出し' role='page tab list' />
<ctrl role='page tab' idx='2' />

一番最後のidxの数を変えると、何シート目か変更できます。

1 Like

kaishii さん

ご回答ありがとうございます。

セレクタ使えばできるんですね。
「.GetSheets」で出来ると書いて有るのを見つけたもので、そればかりに意識が行ってました。
早速、チャレンジしてみます。

まだ、見様見真似の超初心者なんで、、分からなかったら質問させて頂きます。

取急ぎ、お礼まで、、
お礼遅くなり申し訳ございませんでした。

@runtm, Excel Application Scopeで開いたExcelのシート名リストなら、こちらでできます↓
① Excel Application Scope のOutputを変数に置きます (例:myWB)
② allSheets (Array of String) = myWB.GetSheets.ToArray

サンプルをどうぞ。Get Sheet Names.zip (7.8 KB)

2 Likes

whyyouandiさん

ご教示ありがとうございます!
色々方法ありますね。
ウィークディは、中々時間が取れないので週末には教えて頂いた
方法でも試させて頂きます。

超初心者なので、分からない事がありました、また教えて下さい。

取り急ぎ、お礼まで申し上げます。

1 Like

GetSheets.ToListで取得出来ました。
ToList()の引数にシートのインデックス入力すると表示できます。

例えば一番左のシート名なら
GetSheets.ToList(0)で取得できます。