拡張子が.xlsの古いエクセルの列非表示ができない

拡張子が.xlsという古いエクセルのある列を非表示にしたいのですが、
非表示になる列が指定した範囲と異なり(1列指定しているのですが、複数行にわたってしまったり…)困っています。

シナリオは、範囲を選択で1列選択しています。
しかし、実行すると全列非表示になってしまったり、5,6列非表示になってしまったり、安定的に1列非表示になりません。

拡張子が.xlsxのエクセルでは同じシナリオでうまくできました。

.xlsでうまく列を非表示にできる方法があればご教授いただけますと幸いです。

よろしくお願いいたします。

こんにちは

拡張子はあまり関係ないように思えますが...

まずは原因の切り分けのために
ホットキー押下アクティビティの前後に数秒の待機アクティビティをいれて改善するかの確認

あとはセレクターの調整で改善しないかの確認
あたりでしょうか

メッセージありがとうございます!
待機を入れたり、セレクターを調整してみましたがうまくできませんでした…
表現が悪くてすみません。うまくできないエクセルが、97-2003なので、バージョンでSelectRangeがうまくできないのかなあと思ったのですが…

もう少し待ってみまして閉じようと思います。

こんにちは

範囲選択のあとに待機やメッセージボックス等を入れて、画面上確かに指定通りの範囲選択が
できていることを確認すれば、この仮説が正しいかどうかの検証が可能かと思いますので、
一度実施してみてはと思います。

ちなみに手元にxlsx,xlsの両方の確認用のサンプルを用意して、上記と同様の操作をしてみましたが
問題なく実行できました。(Studio21.10CE+Excel2013)。

ありがとうございます。
範囲選択の前、範囲選択の後に待機を入れました。
"D:D"を範囲選択しましたが、"A:L"までが選択されるような動きをしてしまい、その列が非表示となってしまいました。何度やっても変わらず…
(BからK列が結合セルなわけではございません…)

Ctrl+0を押下するときのセレクターは

"<wnd app='excel.exe' cls='XLMAIN' title='" + in_strFileName + "*' /><ctrl name='" + in_strFileName + "*' role='client' />"

です。
in_strFileNameにはファイル名が入ります。

何度もすみません…

こんにちは

となりますと、ここが問題ですね。
手元の環境ですと、セル結合がある場合、その結合した範囲の列がすべて選択されました。
セル結合が無いとのことですが、非表示行含め、セル結合等がないか
あるいは何か特殊な書式などの設定がされていないか、今一度確認
いただくとよいかもしれません。
(あるいはデータを全部消してみても再現するなら、それを共有いただくと良いかもしれません)

すみません…
下の方に結合セルがありました…B列からK列が結合してました…
結合セルを削除しましたらうまく1列だけ非表示にできました。

原因がわかり、助かりました!

ちなみに、セルが結合している場合は、このやり方では非表示ができないのですよね?
1列だけクリック→Ctrl+0で非表示ができましたので、結合している場合はクリックを使用しようかなと思ってますが、よいやり方をご存じでしたらお願いします!

こんにちは

結合セルを含まないように範囲選択指定すれば良いのでは?例えば "D1"

列を非表示にするので列を指定しなければいけないと思い込んでおりましたが「D1」のように選択して列を非表示できました!
とても助かりました!ありがとうございます。

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.