ご連ら宇ありがとうございます。
Suzu さんの引用:
1
これらは別の状態を指している認識で良いですよね?
・画面が真っ白(リボン表示なし)、
・または、ウィンドウが空になったりする
・空白状態(Windows(ブック名).Visible=False
最初は、「画面が真っ白」の事象が発生し、
Webで、同様の記事がありました。
複数ブックを開いた時に発生したり、
時間のかかる処理でも発生するなど
を参考にして弄ってました。
中に「Doevents」を入れたら、というコメントがったので、
取り入れたり、複数のブック開くをやめたりしましたが、
なぜか、途中から、「画面真っ白」がなくなり、
ウィンドウが空になった
という状況です。
「空白状態」は「ウィンドウが空」と同じです。
Suzu さんの引用:
2
一連を、VBS ではなく、VBAで 例えば Wordから呼び出す場合では問題は発生しないでしょうか?
VBS & Excel で 最近体験した事柄として
VBS にて、 Resume Next の後、Goto 0 の後 WorkBooks.Open にて
別途取得したパスのブックを開いたつもりで居たのですが
開いていないにも関わらず、エラーも発生せず 次のステップに進んでいる事がありました。
いろいろ弄っているうちに、希望通りに動作する様になったので深く調査はしませんでしたが
(スペースを含むファイルパスに対し、"" で括らずに渡していた事が原因かなぁ〜と)
VBS以外では試していません。
ステップ実行で、END SUB(VBSに戻る)直前までは、シートは開いていると思われるので
VBSで
Windows(1).Visible = False
や
WorkBooks(ブック名).ActiVate
を組み込んでも変わりません。
Suzu さんの引用:
3
引用:
テーブル更新をスキップしてテストするも、状況は変わらず。
これは、「データ」の「データの取得と変換」で設定する外部接続されたテーブルであり
「データ」「クエリと接続」の 「すべて更新」等の 更新をスキップと言う事でしょうか?
以前あったスレッド
大したVBA処理でもないのに遅くなってしまいます
https://www.moug.net/faq/viewtopic.php?t=81717&highlight=%A5%C6%A1%BC%A5%D6%A5%EB
テーブル自体を解除したらどうでしょう?
テーブル機能は、確かに遅くなることは、確認していますが、
テーブル機能を解除すると、
Excelの初心者(毎年担当者が変わる)が扱うことを想定すると
数式自動複写はありがたいので、テーブル機能は使いたいです。
Suzu さんの引用:
4
外部がある状態で、その内容を VBS側で処理しようとして、
ODBC 接続の場合、VBS で呼び出されるのは、OSのビット数に合わせた ODBCになるので
エラーになります。
まさか無いとは思いますが 上位オブジェクトを省略したり、ScreenUpdating=False、では 無いですよね・・
説明が抜けていました。
Excel2019 64Bit版を使用しています。
なぜ、VBSを使用しているかといいますと、
直接、xlsmを開くと、「マクロを有効にする」操作が必要になるためです。
担当者が毎年変わる=その都度PCも変わる・・・ということで、
担当者のスキルもいろいろです。