• 締切済み

VC++アプリからEXCELを起動しても画面が出ない

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

みんなの回答

noname#15459
noname#15459
回答No.1

プログラミング環境の質問はこちらのカテゴリーではレスが付かないと思います。月間CMAGAZINEなどの技術情報誌を参考にされるとよいと思います。 

関連するQ&A

  • VC++アプリからEXCELを起動できない。

    じんちゃんと申します。 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を単体起動しても起動に失敗します。 よろしくお願いします。

  • EXCEL 個人用マクロブックが起動しなくなりました

    EXCEL2002を使用していますが、個人用マクロブックが起動しなくなりました。 同様の質問がありましたので、回答を参考にマクロセキュリティレベルを確認し、一度Personal.xls ファイルを削除して再度個人用マクロブック作成していみましたがだめでした。 手動で個人用マクロブックを起動してマクロを実行してもエラーはでないのですが、正しく動作しません。 EXCEL2002を再インストールしてもだめだったので、EXCEL2002をアンインストール後一度EXCEL2000をインストールすると個人用マクロブックか起動するようになったので、再度EXCEL2002をインストールしてみるとまた個人用マクロブックは起動しなくなってしましました。 仕事上よく使用するアイコン等が使えなくて困っています。 よい対処方法がありましたら、ぜひ教えてください。 よろしくお願い致します。

  • VBからEXCELを起動する

    VBよりExcelを起動するプログラムで困っています。 1.VBよりGetObject関数でTest.xlsを開く 2.Test.xls内のAuto_Openマクロでパラメータファイルをよみ、そこに指定されているエクセルファイルを新しいブックでを開く ということをしたいのですが(「マクロを有効にする」のダイアログは表示されてもかまわないです)、何故かTest.xlsが開いたと思ったらすぐ閉じてしまいます(Excel自体は終了してないですべてのワークシートが閉じた状態)。 Auto_Openマクロは走ってるようなのですが、ついでにCloseマクロも走ってしまいます。 ちなみにTest.xlsを単体で動かしたときは問題なく動くのです・・・。 以前はVB4+Excel95の環境でAPI(CreateProcess)を使用し同作業を行っていたのですが、そのAPIが長いファイル名のスペース(OFFICEがある「Program File」のスペース)を認識しないそうで、この方法が使えないということでGetObjectを使用してみたのですが・・・。 何か根本的な間違いをしているのか、それともコードにエラーがあるのかさっぱりわからずお手上げです。 うまく疑問点を説明できているか不安なんですが、わかる方、どうかご指導願います。 よろしくお願いします。 ---------------------------------------- OSは、Windows 2000 アプリケーションは、Excel 2000 です ----------------------------------------

  • VC++わかるかた初心者からの質問お願いします

    VC++に詳しいかた教えてほしいのですが、 VBはソフトを動かすときにランタイムが必要ですが VCで作成されたEXEでは そういったものがひつようなんでしょうか? またVBだといろいろとDLLとかOCXとかがEXEとは別途必要ですが VC++の場合はどうなるのでしょうか? EXEと一緒にパッケージできてしまったりはないのでしょうか? よろしくおねがいします。

  • 別アプリの起動、終了について

    VC++にて 以下でメモ帳を起動することが出来ました。 ::WinExec(_T("notepad.exe"),SW_SHOW); こんどは、CreateProcess()でメモ帳を起動したいのですがどう書けば良いのですか? また、メモ帳を終了させるにはどう記述すれば良いのでしょうか? よろしくお願いします。

  • Excel2000で起動していないのに既に起動していますと表示される

    naritanです。 Excelのマクロ付きブックがあります。 このExcelを開くと、必ず、「既に起動しています。・・・」というメッセージが表示されてきます。 プロセスを見ても、Excel.exeは動いていません。 ご教授のほど、よろしくお願い致します。

  • createprocessで起動させる別.exeをモーダルで起動したい

    createprocessで起動させる別.exeをモーダルで起動したい お世話になります。 VC++6.0 MFCで開発しております。 現在A.exeのあるボタンを押すとcreateprocessでB.exeを起動させるようにしております。 B.exeを起動後、A.exeの画面表示をクリックするとA.exeがアクティブになるのです。 それを、B.exeが終了しないとA.exeがアクティブにならないように変更したいのですがどのようにすればよいでしょうか? 現状は PROCESS_INFORMATION pi; STARTUPINFO si; si.cb=sizeof(si); CreateProcess(実行EXEパス,コマンドライン,NULL,NULL,TRUE,NORMAL_PRIORITY_CLASS,NULL,NULL,&si,&pi); で起動しております。 また、実現不可能というお答えでもいいので教えていただければと思います。 お手数ですが何卒よろしくお願いします。

  • エクセルのマクロ

    こんにちは。 今悩んでいます。 VB6.0で、電圧計、電流計を制御して、VBからエクセルを起動、その値をVBでエクセルにデータを送り、グラフを作るのですが。 グラフを作る作業が、同じ作業なので、エクセルのマクロを使い、グラフを作成しようとしていたのですが・・・。 どのエクセルのファイルからでもできるように、個人用のマクロブックで、グラフを作成したのですが、VBからエクセルを起動し、データの転送して、グラフをマクロで作成しようと思ったら、マクロがないんです。 しかし、デスクトップにあるエクセルのショートカットから起動してみると、マクロがあるのです。 VBから起動したエクセルでは、マクロは使えないんでしょうか? 詳しい方よろしくお願いします。

  • ShellでEXCEL2002を起動する場合

    VB6のコーディングで、Shell関数を使用してEXCELを起動しているのですが、EXCEL2002では、他のバージョンと表示方法が変わってしまいました。 コーディングは Shell(PATHつきのEXCEL.EXE, vbMinimizedFocus) としているのですが、 EXCEL2000までは、正常にアイコン化されたEXCELが起動できていたのに、EXCEL2002からは最後に使用した大きさ(最大化した状態でEXCEL2002を終了していたら最大化、アイコン化した状態で終了していたらアイコン化)で起動されてしまいます。 また、EXCEL2000までは表示されなかったロゴマーク?も表示されてしまいます。 ちなみにWORD2002はアイコン化して起動可能でした。 (但し、こちらもロゴマークは表示されます。) 動作として、ひっそりとEXCELを起動してマクロを使用した帳票を出力する。 としたいのですが、なにかいい方法がありましたら教えてください。 (ShellExeCuteもうまく動作しませんでした。)

  • エクセルでのマクロ異常について

    エクセルでマクロを作り、それを実行している際に、 ある時作ったエクセルブックにおいては、1度目はマクロが実行できるのですが、2回目以降にマクロを実行しようとすると、「ファイルがみつかりません:VBA6.0」という表示が出てOKを押すと、Microsoft Visual Basicの画面が出て、「中断」となっております。 他のマクロを使ったブックではこの現象はありません。パソコンを再起動すると、1度目はマクロが実行できます。 なお「VB6(SP5)ランタイム 基本セット」はインストールしてあり(Vb6jp.dll他いくつかのファイルがインストールされています)、マクロウイルスについても、チエックしましたが検出されません。 この現象は、他のパソコン(win xp)で実行しても同じです。 また再現性があります。 環境はwin98    office2000 premium です。 どのような場合にこの現象が起こりうるのか教えていただけませんか。