
じんちゃんと申します。
EXCEL2003をVCアプリからバックグラウンド起動したいのですが上手くいきません。
どなたかご存知でしたら助けてください。主な条件は次の通りです。
[概要]
VCアプリ内でCreateProcess()を用いてEXCEL.EXEをブック(.xls)引数で起動しています(ブックはマクロ付き)。
[環境]
・EXCEL2003のみの製品をインストール。
VB6.0のランタイムを入れています。
Framework1.1も念のため入れました。
・VC++.Netで開発したEXEからEXCELを起動しています。
・OSはWindowsXP SP2です。
・以前は動いていたのですがある日以降動かなくなりました。
・現在でも起動対象ブックを手動で起動すると画面が問題なく表示されます。
[現象]
1.起動するとEXCELの起動ロゴが一瞬表示されるが起動しない。
タスクマネージャを見てもEXCEL.EXEが存在しない。
2.起動失敗後、対象ブックを手動で開くとセーフモード起動を聞かれます。
加えて起動後、マクロセキュリティを低に設定していたのが強制的に高
に設定されてしまっています。
手動起動後、以降、セーフモード起動は聞かれません。
CreateProcess()からの起動(バックグラウンド起動)した場合にのみ起動失敗します。
3.EXCEL2003を再度インストールして実施しても変化なし。
4.CreateProcess()の戻り値は正常でした。
5.他のNOTEPAD.EXEをEXCEL.EXEに変更して起動すると表示される。
恐らくEXCEL2003のみの固有問題と思います。
他のEXCELバージョンでは問題なく起動できます。
6.EXCEL2003だとブック指定なしでEXCEL.EXEを単体起動しても起動に失敗します。
よろしくお願いします。
A 回答 (1件)
- 最新から表示
- 回答順に表示

No.1
- 回答日時:
EXCEL2003のみの固有問題と予測しているのなら
CreateProcessからShellExecuteに変更したときは、どうですか
char File_char[] = "C:\\File.xls";
ShellExecute( 0,"open", File_char, "", "", SW_SHOWMINNOACTIVE);
//アニメーションを好まないときは、SW_MAXIMIZEやSW_HIDEなどに変更。
ほかにCOMをもちいて起動する方法もありますよ。
http://www16.plala.or.jp/web-yukimaturi/programm …
お返事ありがとうございます。
昨日判明した事実ですが、呼び出し元プロセスのある処理を通さ
なければ起動できることが判明しました。
CreateProcess()が正常リターン、及びEXCEL起動ロゴが一瞬出る
のでAPPの問題とはあまり考えていませんでしたが、APPのメ
モリリークなどの想定外問題が原因と今は考えています。
起動方法を変えて緊急対策的に処置をまずはしてみようと考えて
います。ご教示ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel起動時にエラーダイアログが表示される 3 2022/07/28 19:52
- その他(パソコン・スマホ・電化製品) CMD等でPC操作(excel開く等)を自動化させたい 1 2023/03/15 09:53
- その他(Microsoft Office) office2010とoffice365の共存でoffice365を優先で起草させたい 3 2023/01/24 10:47
- Visual Basic(VBA) エクセルVBA 4 2022/05/14 00:51
- ノートパソコン EXCEL のドキュメントの回復について 2 2023/03/19 17:16
- Excel(エクセル) Excelのウィンドウが少し小さく、ズレて立ち上がります 1 2022/06/27 16:25
- その他(Microsoft Office) Windows Update 後、Office2019(Word、Excelなど)が消えた 4 2023/01/14 10:28
- Excel(エクセル) Excel2010 VBAが特定動作で実行出来なくなる 7 2022/12/29 14:26
- UNIX・Linux VirtualBox:ヘッドレス起動のみ起動しない 2 2022/06/07 17:52
- Mac OS macbookairでonedriveが起動できません 1 2023/01/19 00:04
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでOutlookを終了させたい Ex...
-
Process.Startで起動したアプリ...
-
VB6.0からエクセルを起動
-
WinSCPで画像のように puttyを...
-
VBSで起動したアプリが前面表示...
-
VBで実行中のEXEファイルの情報...
-
アウトルックが起動しているか...
-
Javaの起動について(他にやる...
-
EXCEL VBAから他アプリケーショ...
-
Windows上のプログラム。「予め...
-
別アプリの起動、終了について
-
二重起動禁止にする理由とは
-
意味不明の実行時エラーで困っ...
-
印刷ダイアログを表示させたくない
-
vba 時間の引き算 例えば 15:00...
-
Designer.vbは直接コードをいじ...
-
VBAでArrayListを使う為の「msc...
-
印刷ダイアログを表示させない方法
-
「読み込み違反」が起きたとき...
-
Visual Studio 「AnyCpu」について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでOutlookを終了させたい Ex...
-
アウトルックが起動しているか...
-
Process.Startで起動したアプリ...
-
VBで実行中のEXEファイルの情報...
-
Windows上のプログラム。「予め...
-
キー操作 (WSH:コピー&ペー...
-
exeファイルを実行するとすぐに...
-
VBSで起動したアプリが前面表示...
-
EXCEL VBAから他アプリケーショ...
-
VBSから別のVBS起動するとき変...
-
VB6で呼び出し元の情報を取得す...
-
フォームの最前面が効かない
-
gccプログラムで複数の実行ファ...
-
ウィンドウを終了させたい・・・
-
C# 他のアプリケーションを優先...
-
MSDOS(バッチファイル)でプロセ...
-
64bitで作ったEXEを32bitで起動...
-
VBAでSeleniumからChromeを起動...
-
VB6.0からエクセルを起動
-
VBSでExcelのUserFormをエクス...
おすすめ情報