VB6で作ったプログラムをWindows7において、タスクスケジューラで起動させたが、実行しない。
フォ-ムは1個だけで、その中のACTIVATEから、同フォーム内のルーチンを呼び出して目的の動作をさせるようになっています。手動で起動させると、目的の動作をして終了するが、タスクスケジューラではフォームを表示した状態で止まっている。そのフォームをクリックすると目的の動作を行う。なお、フォームはその時実行されている別のVB6のフォームの前面[最前面)に表示されている。目的は1日1回自動的に特定ファイルの状態を調べたいだけです。
よろしくお願いします。
No.1
- 回答日時:
VB6は7とvistaには対応していません。
実行ファイルを右クリックのプロパティの互換性で互換モードXPを
選べばできるかもしれません。
この回答への補足
Windows7とVISTAで試しましたが、全く同じ症状でした。なお、No.2の方の方法で、問題はあるものの、実行できましたので、タスクスケジューラはACTIVATEまでは実行しないということのようです。(VB2000など互換性のあるものでは実行できるのかわかりませんが)。ありがとうございました。
補足日時:2011/04/04 21:54早速の回答をありがとうございます。
実行したい環境が職場のコンピュータで、今テストできません。月曜日に早速やってみます。
VB6がVistaなどに対応していないことは知っていましたが、自作のプログラムが一部の機能を除いては問題なく動くので、互換性のことはうたがはず、何か設定の問題でもあるのかと思っていました。
結果が出ましたら、報告します。
No.2ベストアンサー
- 回答日時:
フォームが最前面になっているが、アクティブになっていないからです。
>>その中のACTIVATEから
Private Sub Form_Load()
に変えたら動きます。
http://hm.cocolog-nifty.com/hmpage/2009/03/windo …
この回答への補足
指摘の方法でWindows7とVISTAで実行されることが確認できました。ついでにInitializeでも起動されることが確認できました。実用的にはこれで十分なのですが、実行中、画面にフォームが表示されないなど、起動していることが全くわからない状態でした。起動は、当方のVB6プログラムがログファイルを作成するので、それを調べて確認しました。
当初Activateのところで実行したかったのは、フォームを画面に表示して、実行している様子を見たいためでした。このようなことは出来ないのでしょうか。また、フォームが表示されていない状態(Load または Initailize の段階で)、フォーム内のラベル等に書き込みを行っています。今回エラーはでませんでしたが、特に問題は無いのでしょうか。
よろしくお願いします。
回答ありがとうございます。
今回のプログラムは
Private Sub Form_Load() (変数の定義などを行っている)
Private Sub Form_Activate()
の両方を入れています。
VBAのプログラムではLoad、Activateと実行され、ここでフォームが表示されているようなので、VB6も同じと思い、Activateのところで実際の動作をさせています。(VBAの場合はLoadのところではフォームが表示されませんでした。)
実行環境が職場なので、月曜日にテストしてみます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) 入力フォームへ、データを自動的に入力するプログラム。どうやって作る? 4 2023/01/16 10:24
- その他(プログラミング・Web制作) Windows上のプログラム。「予め決められた時刻に自分で起動して処理して自分で終了する」って可能? 3 2023/01/04 14:29
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- Visual Basic(VBA) vba メモリ節約 3 2022/09/16 21:45
- JavaScript ラジオボタンによるフォームの開閉を行いたい 3 2022/03/31 21:30
- デスクトップパソコン windows7を使っているパソコンでの質問です。先日動作が遅く再起動かけると「windowsを起動 9 2022/06/16 21:31
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- Access(アクセス) アクセス フォームの自動入力 1 2023/03/20 00:18
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- Access(アクセス) アクセス 意図せずサブプロシージャを移動してしまうのを止めたい 1 2022/09/02 09:19
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAのフォームを最...
-
ExcelVBAのユーザーフォームの...
-
ユーザーフォームのテキストボ...
-
MSGBOXのフォント大きさ変更
-
ユーザーフォームを表示中にシ...
-
ユーザーフォーム上に現在日時...
-
ユーザーフォームのラベルに時...
-
Form_Load と Form_Activate の...
-
クリックイベントなのに、2回ク...
-
フォームウィンドウを最前面に...
-
VBAでユーザーフォームを再表示...
-
ACCESSでストップウォッチの作成
-
Microsoft Formsの「個人情報や...
-
Hideについて(.NET)
-
【VBAユーザーフォームで閉じる...
-
モーダルフォームとモードレス...
-
keypressイベントでEnterキー(a...
-
VisibleとOpenFormは意味が同じ?
-
VBのフォームをスクロールさせ...
-
フォームの位置を取得したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ユーザーフォームを表示中にシ...
-
クリックイベントなのに、2回ク...
-
ExcelVBAのユーザーフォームの...
-
ユーザーフォームのテキストボ...
-
Microsoft Formsの「個人情報や...
-
ユーザーフォーム上に現在日時...
-
Form_Load と Form_Activate の...
-
モーダルフォームとモードレス...
-
Excelにて、ユーザーフォームで...
-
VBAでユーザーフォームを再表示...
-
【VBAユーザーフォームで閉じる...
-
MSGBOXのフォント大きさ変更
-
VBA(エクセル)のユーザー...
-
Hideについて(.NET)
-
エクセルVBAのフォームを最...
-
コントロールの存在確認
-
ACCESSのフォーム、開くんです...
-
'ユーザーフォーム右上隅の[×...
-
フォームウィンドウを最前面に...
-
ユーザーフォームのラベルに時...
おすすめ情報