- ベストアンサー
Excelのインストール状態を確認する。
AccessからExcelへデータを書き込む処理を作っています。 (Excel.Application オブジェクトを使用) 書き込む処理はできたのですが、Excelが存在しないコンピュータ ではエラーになりますよね(AccessがあってExcelが無いコンピュータ なんて少ないでしょうが・・・)。 そこで質問ですが、コンピュータにExcelがインストールされているかを 確認する方法(VBA)はありますか・・・? 一連の流れで、Excelの有無を確認し、ある場合と無い場合で処理を分岐 したいのですが。 どなたかよろしくお願いします。
- pon_s
- お礼率88% (101/114)
- その他MS Office製品
- 回答数2
- ありがとう数3
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
単純にon errorで飛ばして、エラーコードで判断すれば?
その他の回答 (1)
- DIooggooID
- ベストアンサー率27% (1730/6405)
レジストリのエントリを表示するコマンド(reg.exe)を実行して、 Excel のエントリが表示されれば、Excel がインストールされています。 例 (Office 2003の場合) C:\>REG QUERY HKLM\Software\Microsoft\Office\11.0\Excel ※Officeのバージョンに応じて、"11.0" 部分が異なります。 [バージョン]は、8.0とか9.0とか10.0とか11.0など。
お礼
回答ありがとうございました。
関連するQ&A
- エクセルオブジェクトの有無の確認方法
VBAでマクロを作成してます。 指定した名前のオブジェクト(たとえばグラフ)が存在しない場合の処理を加えたいのですが、可能でしょうか?
- ベストアンサー
- Visual Basic
- VBA
ACCESSのVBAにて、エクセルのデータ操作を行っています。 「sum」や「vlookup」などの関数が入ったセルをコピー&貼り付けしていく処理があります。 デバック―モードで実行するとエラーとなりませんが、 通常に実行するとエラーになってしまいます。 エラーの内容: アプリケーション定義またはオブジェクト定義のエラーです。 sleepを入れてみましたが、結果はかわらずでした。 どのような原因があるのでしょうか。
- 締切済み
- Visual Basic
- エクセルVBA でフォルダーの作成方法
エクセルVBAでフォルダーの有無を確認する。 同じデレクトリ上で同一名のフォルダー、ファイルが存在するなら そのまま次の作業に進み、 デレクトリ、フォルダー、ファイルが存在しない場合は新規に 作成する。 新規に作成するのは MkDir "c:\white\DXF"で可能ですが、有無の判定の方法がわかりません。 初心者ですのでよろしくお願いします。 判定式がないと条件によってはエラーが生じます。
- ベストアンサー
- オフィス系ソフト
- エクセルのブックはVBAでオブジェクトと言うことは
VBAでアクセスではフォームの事をオブジェクトと言いますが エクセルのブックはVBAでオブジェクトと言うことはありますか?
- ベストアンサー
- Visual Basic
- excelの 実行時エラー
VBAを組み込んだところ、エクセルを開くところで、実行時エラー1004が出るようになってしまいました。 アプリケーション定義またはオブジェクト定義のエラーとありますが、 メッセージBOXを終了すると、作業は続けられます。 何が問題なのかは、デバックが押せないので良くわからない状態です。 何かわかる方、ご教授願えませんでしょうか。
- ベストアンサー
- その他(業務ソフトウェア)
- ACCESS2000で更新のあったテーブルの確認
お世話になっております。 連続の投稿となり大変恐縮です。 他人が作成した、ACCESS2000+VBAのアプリケーションが あるのですが、更新の(Update、Insert等)あった テーブルを確認するにはどうしたら良いでしょうか? ACCESSの画面(多分データーベースオブジェクト)の 画面でのテーブルの「更新日時」はどうもテーブル に更新があっても新しくならないように見えます どなたか、教えて頂けるとありがたいです。
- ベストアンサー
- その他(データベース)
- アクセスで他アプリから復帰した場合の再描画イベント
エクセル、アクセスでVBAを自作している者です。コーディング暦5年以上で、フォーム画面も組めるようになりました。 いまだに理解が進まないのがイベントですが、その中で質問があります。 かなり時間のかかる処理(例えば30分とか1時間とか)を行う際に、例えば100件処理ごとに「今~件処理しました。」というようなメッセージをフォーム上に表示して、経過を知らせるとともにPCが固まっていないことを確認できるようにしています。(Application.Echoを通常はFalseにして、100件ごとにEcho=Trueに直してからRepaintメソッドで書いて、再びEcho=Falseに戻しています) しかし、これもずっとアクセスを表示したままの場合にしか動きません。処理中に別の画面(エクセルとかエクスプローラーとか)を表示して、アクセスに戻ってくると、アクセスはVB実行中で画面の再描画はしてもらえず、処理がすべて終わるまでは白い画面(何も表示されない画面)などが表示されたままになってしまいます。フォームのActivateイベントにも仕込んでみましたが、アクセスに戻っただけではActivateイベントは発生しないようです。 Applicationオブジェクトや、CurrentProjectオブジェクトにはイベントがないようで、アクセスがアクティブになった場合に、再描画させることができるのかどうか、教えていただければ幸いです。
- ベストアンサー
- オフィス系ソフト
- VBAでエクセルのバージョンを取得するには
エクセルBOOKを開いているアプリケーションがエクセル2007以降かそうでないかを、その開かれているBOOKのVBAで取得するにはどのような記述をすればよろしいでしょうか? 2007以降か、その前かでコードを分岐させたいのです。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- スタートアップ エクセル 同じ枠内で開くには?
スタートアップにエクセルファイルを複数家れると、同じ枠内(アプリケーション内)で開いてしまいますが、 アクセスの場合は、個々の枠内で開かれます。 エクセルもアクセスのように、ファイルごとのアプリケーションで開きたいのですが、 どうすればいいですか? VBA等を使ったスタートアップを作成するしかないのでしょうか? ウィンドウズの標準機能では無理ですか?
- ベストアンサー
- Excel(エクセル)
- ExcelからAccessのクエリを呼び出したい
約20,000レコードほどのデータを一気にExcelのVBA上の選択SQLでEditとUpdateで処理しようと思ったのですが、一気に処理できるレコード数に制約があるようでエラーになりました。 Access内のクエリだとOKみたいですがExcelからAccessのクエリを呼び出す方法がわかりません。 どうしたらいいのでしょうか? よろしくお願いします。 バージョンは2002です。
- 締切済み
- オフィス系ソフト
お礼
回答ありがとうございます。 なるほど、簡単な方法ですね! AccessがあってExcelがないコンピュータなんて少ないでしょうが、 エラー処理以外で、Excelの有無を確認する方法があれば使ってみたい と思っています。 自分でも調べていますが、他に回答がいただけるかもう少し待ってみます。