COMを使ってエクセルを起動する方法を教えてください
- このフォーラムに新しいトピックを立てることはできません
- このフォーラムではゲスト投稿が禁止されています
COMを使ってエクセルを起動する方法を教えてください
msg# 1
gs_kuwabara
投稿数: 229
いつもお世話になっております
COMを使ってエクセルを起動する方法をお教えください
OLE型の変数を定義
外部コールで COM を指定して
要素に Workbooks.Open を指定して
パラメータで FileName を登録して
代入でエクセルのファイル名を指定
だけでは起動できないのしょうか?
お願い致します
COMを使ってエクセルを起動する方法をお教えください
OLE型の変数を定義
外部コールで COM を指定して
要素に Workbooks.Open を指定して
パラメータで FileName を登録して
代入でエクセルのファイル名を指定
だけでは起動できないのしょうか?
お願い致します
投票数:0
平均点:0.00
Re: COMを使ってエクセルを起動する方法を教えてください
msg# 1.1
pu_mahalo
居住地: 大阪
投稿数: 775
こんにちは
v9plusをインストールしたら
サンプルaplで excel comのプログラムが
インストールできるようになってますので
そちらをまず参考できる環境があれば 参考される事を
お勧めいたします
comの使用方法を文章で説明するのは
なかなか難しいので
それでもうまくいかない場合は
v10で試してみますので
どこがうまくいかないか またUPして下さい
お答できる範囲で回答させていただきます。
v9plusをインストールしたら
サンプルaplで excel comのプログラムが
インストールできるようになってますので
そちらをまず参考できる環境があれば 参考される事を
お勧めいたします
comの使用方法を文章で説明するのは
なかなか難しいので
それでもうまくいかない場合は
v10で試してみますので
どこがうまくいかないか またUPして下さい
お答できる範囲で回答させていただきます。
投票数:0
平均点:0.00
Re: COMを使ってエクセルを起動する方法を教えてください
msg# 1.1.1
gs_kuwabara
投稿数: 229
お返事ありがとう御座います
V10しかないので・・・
申し訳ありません
もう少しがんばってみます
V10しかないので・・・
申し訳ありません
もう少しがんばってみます
投票数:0
平均点:0.00
Re: COMを使ってエクセルを起動する方法を教えてください
msg# 1.1.2
gs_kuwabara
投稿数: 229
ボタンを押下した時にバックで特定のエクセルを開いて
それをPDFにしてプレビューがしたいのですが
まず、バックで起動ではなくエクセルが起動するかの
確認をしておりましたが
何も反応しない状態です
それをPDFにしてプレビューがしたいのですが
まず、バックで起動ではなくエクセルが起動するかの
確認をしておりましたが
何も反応しない状態です
投票数:0
平均点:0.00
Re: COMを使ってエクセルを起動する方法を教えてください
msg# 1.2
EijiNagai
投稿数: 65
V9ですが、以下の手順で行っています。
とりあえずワークブックを開くまでとして。
変数は
アプリケーション
ワークシート
どちらもインスタンス化なし。
1) COMObjCreateでアプリケーションをCreate
(このとき、エクセルがないとエラー)
2)コールCOMでWorkbooks.Open
パラメータは別途設定した変数もしくは式でfilenameを指定。
戻り値にワークシートの変数を設定。
これでエクセルは起動しますが、visibleでは無いと思います。タスクマネージャで確認するとExcelが起動していると思います。
注意としてはCreateしたアプリケーションはReleaseする必要があります。
とりあえずワークブックを開くまでとして。
変数は
アプリケーション
ワークシート
どちらもインスタンス化なし。
1) COMObjCreateでアプリケーションをCreate
(このとき、エクセルがないとエラー)
2)コールCOMでWorkbooks.Open
パラメータは別途設定した変数もしくは式でfilenameを指定。
戻り値にワークシートの変数を設定。
これでエクセルは起動しますが、visibleでは無いと思います。タスクマネージャで確認するとExcelが起動していると思います。
注意としてはCreateしたアプリケーションはReleaseする必要があります。
投票数:0
平均点:0.00
Re: COMを使ってエクセルを起動する方法を教えてください
msg# 1.1.2.1
sk0014
投稿数: 37
下記の資料も見ても、「Excelを終了する」はありますが、「Excelを起動する」はありませんね。
「ファイルをオープンする」前に、外部コール>OSコマンドでExcelを直接、起動するしかないのではないでしょうか。
http://www.magiclab.net/download/excel_renkei/excel_com_guide.pdf
「ファイルをオープンする」前に、外部コール>OSコマンドでExcelを直接、起動するしかないのではないでしょうか。
http://www.magiclab.net/download/excel_renkei/excel_com_guide.pdf
投票数:0
平均点:0.00
Re: COMを使ってエクセルを起動する方法を教えてください
msg# 1.2.1
gs_kuwabara
投稿数: 229
みなさんありがとうございます
がんばってみます
がんばってみます
投票数:0
平均点:0.00
Re: COMを使ってエクセルを起動する方法を教えてください
msg# 1.2.1.1
gs_kuwabara
投稿数: 229
色々とがんばってみましたが・・・
素人のわたしには荷が重いみたいです
山下博士のMagic実践活用講座から
V9のExcel連携徹底活用サンプルプログラム
をDLしてV9の体験版を入手して中を見ましたが
新規excelのオープンならあるのですが
既存のexcelのオープンはないようです
Excel_Openと言うプログラムがあったのですが
パラメータにシート名しかなく・・・
教えていただきました
COMObjCreateにつきましても調べてみましたが
記述方法がわからない状態です
DDEでやる方法は見つかったのですが
DDEも今後どうなるか分からないので・・・
やはり、素人が手を出してはいけない領域なのでしょうか・・・
素人のわたしには荷が重いみたいです
山下博士のMagic実践活用講座から
V9のExcel連携徹底活用サンプルプログラム
をDLしてV9の体験版を入手して中を見ましたが
新規excelのオープンならあるのですが
既存のexcelのオープンはないようです
Excel_Openと言うプログラムがあったのですが
パラメータにシート名しかなく・・・
教えていただきました
COMObjCreateにつきましても調べてみましたが
記述方法がわからない状態です
DDEでやる方法は見つかったのですが
DDEも今後どうなるか分からないので・・・
やはり、素人が手を出してはいけない領域なのでしょうか・・・
投票数:0
平均点:0.00
Re: COMを使ってエクセルを起動する方法を教えてください
msg# 1.2.1.1.1
atushi
居住地: 長野県
投稿数: 30
こんにちは
私の見解では、以下のようになります。
>Excel_Openと言うプログラムがあったのですが
>パラメータにシート名しかなく・・・
・パラメータの[シート名]というのは、
プログラムの記述間違いで、[ファイル名(フルパス)]が
正しいと思います。
よって、[ファイル名(フルパス)]をパラメータに送って
問題ないと思います。
ちなみに、[EXCEL 2000以上対応 VBA]のリファレンス的な
書籍も参考になるかと思います。
>教えていただきました
>COMObjCreateにつきましても調べてみましたが
>記述方法がわからない状態です
・Excel連携徹底活用サンプルプログラムの場合は、
メインプログラムで、[Excel Application]変数の特性で
インスタンス化が「自動」となっているため、
[COMObjCreate]及び[COMObjRelease]は、必要ないと思います。
この場合、メインプログラムが終了しないと
EXCELプロセスが解放されないと思います。
・プログラム単位で、EXCELプロセスを手動制御したい場合は、
[Excel Application]変数項目の特性でインスタンス化を[なし]
にして、プログラムの最初に[COMObjCreate]の実行を行い、
最後に[COMObjRelease]を実行するようになると思います。
・記述方法は、[Excel Application]変数の
項目識別子が[B]だとすると、項目更新コマンドにて、
インスタンスの作成の場合は、式「COMObjCreate ('B'VAR)」
インスタンスの解放の場合は、式「COMObjRelease ('B'VAR)」
を数値[N1]の変数項目に代入すれば良いかと思います。
私の見解では、以下のようになります。
>Excel_Openと言うプログラムがあったのですが
>パラメータにシート名しかなく・・・
・パラメータの[シート名]というのは、
プログラムの記述間違いで、[ファイル名(フルパス)]が
正しいと思います。
よって、[ファイル名(フルパス)]をパラメータに送って
問題ないと思います。
ちなみに、[EXCEL 2000以上対応 VBA]のリファレンス的な
書籍も参考になるかと思います。
>教えていただきました
>COMObjCreateにつきましても調べてみましたが
>記述方法がわからない状態です
・Excel連携徹底活用サンプルプログラムの場合は、
メインプログラムで、[Excel Application]変数の特性で
インスタンス化が「自動」となっているため、
[COMObjCreate]及び[COMObjRelease]は、必要ないと思います。
この場合、メインプログラムが終了しないと
EXCELプロセスが解放されないと思います。
・プログラム単位で、EXCELプロセスを手動制御したい場合は、
[Excel Application]変数項目の特性でインスタンス化を[なし]
にして、プログラムの最初に[COMObjCreate]の実行を行い、
最後に[COMObjRelease]を実行するようになると思います。
・記述方法は、[Excel Application]変数の
項目識別子が[B]だとすると、項目更新コマンドにて、
インスタンスの作成の場合は、式「COMObjCreate ('B'VAR)」
インスタンスの解放の場合は、式「COMObjRelease ('B'VAR)」
を数値[N1]の変数項目に代入すれば良いかと思います。
投票数:0
平均点:0.00
Re: COMを使ってエクセルを起動する方法を教えてください
msg# 1.2.1.1.1.1
gs_kuwabara
投稿数: 229
atushiさま
ありがとうございます
ありがとうございます
投票数:0
平均点:0.00
Re: COMを使ってエクセルを起動する方法を教えてください
msg# 1.2.1.1.1.1.1
Kake
居住地: 愛媛県松山市
投稿数: 36
gs_kuwabaraさん、こんにちは。
もう解決されたでしょうか?
蛇足をば。
エクセルを起動するだけであれば、以下の手順でいかがかと。
・OLE項目は1つ(Excel Application;インスタンス化は自動)
・コールCOMで
オブジェクトは、Excel Application のOLE項目
Workbooks.openメソッドを呼び出す。
・呼び出しが完了するが、Magicから起動すると、Excelは不可視
・コールCOMで
オブジェクトは、Excel Application のOLE項目
Visibleのプロパティ設定で"True"LOGをセットする。
V9Plusでの方法ですが、V10でも同じと思います。
もう解決されたでしょうか?
蛇足をば。
エクセルを起動するだけであれば、以下の手順でいかがかと。
・OLE項目は1つ(Excel Application;インスタンス化は自動)
・コールCOMで
オブジェクトは、Excel Application のOLE項目
Workbooks.openメソッドを呼び出す。
・呼び出しが完了するが、Magicから起動すると、Excelは不可視
・コールCOMで
オブジェクトは、Excel Application のOLE項目
Visibleのプロパティ設定で"True"LOGをセットする。
V9Plusでの方法ですが、V10でも同じと思います。
投票数:0
平均点:0.00
Re: COMを使ってエクセルを起動する方法を教えてください
msg# 1.2.1.1.1.1.1.1
gs_kuwabara
投稿数: 229
Kakeさん、ありがとうございます
山下博士のサンプルをV10に変換して
試しているのですが・・・
OPENはタスクマネージャでexcelが
動いている事は確認できました
Visibleのサンプルもあったのですが
そこで表示されない状態です
なにかハンドルを取得して・・・とかするのでしょうか
山下博士のサンプルをV10に変換して
試しているのですが・・・
OPENはタスクマネージャでexcelが
動いている事は確認できました
Visibleのサンプルもあったのですが
そこで表示されない状態です
なにかハンドルを取得して・・・とかするのでしょうか
投票数:0
平均点:0.00
Re: COMを使ってエクセルを起動する方法を教えてください
msg# 1.2.1.1.1.1.1.1.1
Kake
居住地: 愛媛県松山市
投稿数: 36
gs_kuwabaraさん、こんにちは。
Magic V10.1 sp4b 試用版でサンプルプログラム作って
実験してみました。
V10からCOM呼び出しは"外部コール"に変わってるんですね。
Visibleの設定、論理型の'true'logの値を
セットしておられるでしょうか?
僕の作ったサンプルプログラムを、お送りしたほうが早いかも。
Magic V10.1 sp4b 試用版でサンプルプログラム作って
実験してみました。
V10からCOM呼び出しは"外部コール"に変わってるんですね。
Visibleの設定、論理型の'true'logの値を
セットしておられるでしょうか?
僕の作ったサンプルプログラムを、お送りしたほうが早いかも。
投票数:1
平均点:0.00
Re: COMを使ってエクセルを起動する方法を教えてください
msg# 1.2.1.1.1.1.1.1.1.1
gs_kuwabara
投稿数: 229
Kakeさま
ありがとうございます
正直、諦めかけていました・・・
よろしければ、サンプル頂けませんでしょうか
あつかましいお願いを致しまして申し訳ありません
ありがとうございます
正直、諦めかけていました・・・
よろしければ、サンプル頂けませんでしょうか
あつかましいお願いを致しまして申し訳ありません
投票数:0
平均点:0.00