VBからCreateObjectで作成したExcelのプロセスを終了させたいと考えています。
困っている点として、CreateObjectで作成したときにプロセスIDをどのように取得すれいいのかという点です。
宜しくお願いします。

環境
VB6.0+SP5
Windows2000+SP2
Excel2000

A 回答 (1件)

VB5では、これでいいはずです。

VB6でも同じでは?!

Dim ExcelObj As Excel.Application
:
:
Set ExcelObj = CreateObject("Excel.Application")
:
:
ExcelObj.ActiveWorkbook.Close (False)
ExcelObj.Quit
Set ExcelObj = Nothing

この回答への補足

回答ありがとうございます。
VBからExcelを起動する場合、SUZUYUUさんが書かれた記述が基本的な書き方です。
私のしたいことは
Set ExcelObj = CreateObject("Excel.Application")
の後にWorkbookをopenあるいはaddしたときに発行されるPID(プロセスID)を取得したいのです。
Shell起動をしたとき、戻り値を利用したPIDの獲得はわかったのですが、、この記述でしたときにどのようにPIDを獲得すれば良いのか調査中です。
もしご存知であればご教授ください。

補足日時:2002/04/10 08:50
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q美容室の広告に載っている「ワンプロセス」の意味。

髪を切ろうと思い、ホットペッパーで美容室を
探していました。

カラーとか、パーマのとこに「ワンプロセスのみ」
という表示がされていることがありますが、
これはどのような意味なのでしょうか?

ご存知の方、教えてください。よろしくお願いします。

Aベストアンサー

ワンプロセスと言うのは、1回だけと言うことです。

たとえばカラーなら、1度薬液を付けるだけとかです。
カラーの場合は、新生毛とカラーの毛(既成毛)とでは色合いが違いますので、同じ薬液を塗れませんので2プロセス以上の施術になりますね。

QVB6(SP5)+OO4OでCreateObjectが失敗する

上記の環境でプログラムを作成しています。
Windows2000ではうまくいきました。
WindowsXP(Professional)で失敗します。

Set OraSession = CreateObject("OracleInProcServer.XOraSession")
Set OraDatabase = OraSession.OpenDatabase(C_ORACLE_TNS, C_ORACLE_USER & "/" & C_ORACLE_PASS, 0)

のようなコーディングでCreateObjectのところで失敗しエラーとして429 ActiveX コンポーネントはオブジェクトを作成できません。
というのが発生します。

Oracleのバージョンは9iでそのクライアントパック9.2.0.1.0を管理者モードでインストールしています。
もちろんOO4Oはインストールされていますし、VBの参照設定でOracle InProc Server 4.0 Type Libraly を追加しています。

何度か再インストールなどしましたが全く同じです。何がいけないのでしょうか?直接回答でなくてもヒントでも何でも教えてください。

なおSQL Plusでテーブルの参照はできています。

上記の環境でプログラムを作成しています。
Windows2000ではうまくいきました。
WindowsXP(Professional)で失敗します。

Set OraSession = CreateObject("OracleInProcServer.XOraSession")
Set OraDatabase = OraSession.OpenDatabase(C_ORACLE_TNS, C_ORACLE_USER & "/" & C_ORACLE_PASS, 0)

のようなコーディングでCreateObjectのところで失敗しエラーとして429 ActiveX コンポーネントはオブジェクトを作成できません。
というのが発生します。

Oracleのバージョンは9iでそのクライアントパッ...続きを読む

Aベストアンサー

通常は正しく削除されてしかるべきなのでしょうが、レジストリにキーが残った状態になることもありますので
・・・
完全削除についてはリリースノートにも記載されております。

Oracle9i Client for Windows インストレーション・ガイド リリース2 (9.2.0.1.0)(2002/8/7)
「オラクルコンポーネントのインストール」「oracleコンポーネントとサービスの削除」

参考URL:http://otn.oracle.co.jp/document/products/oracle9i/920/windows.html

Qプロセス監視とサービス監視

下記の質問にてプロセスとサービスの違いについて少し理解ができました。
http://oshiete.goo.ne.jp/qa/7395829.html

しかし、私の理解が正しいとするとプロセスはサービスよりも詳細な単位になるためプロセス監視を行えばサービス監視は行えているということになります。

そこで二点質問がございます。
1.上記の私の理解は正しいか
2.プロセス監視ではなく、サービス監視を行う具体的な意味は

ご教示いただけますと幸いです。

Aベストアンサー

・UNIX系のinetdやwindowsのsvchostなどプロセス名とサービスが単純に結びついていないサービスがあります。
・プロセスは起動しているが、ハングアップなどでサービスとして機能していない場合があります

QVB6.0 CreateObject以外のファイルI/O

以前CreateObject("Scripting.FileSystemObject")を使用してファイルを読込む方法、一行ずつ書込む方法を教えていただいたのですが。
環境によってはウイルスチェックに引っかかってしまうようで、別な手段を取らなければならなくなりました。
読込み:
Set objFso = CreateObject("Scripting.FileSystemObject")
Set objTxtSt = objFso.OpenTextFile(strFilePass, 1)
strData = CStr(objTxtSt.ReadAll())
書込み:
Set objFso = CreateObject("Scripting.FileSystemObject")
Set objTxtSt = objFso.OpenTextFile(strFilePass, 2, False)
Call objTxtSt.WriteLine(strData)
現在の処理は以上です。
上記と同じ処理をCreateObjectを使用せずに作成するにはどのようにすればよろしいでしょうか。

以前CreateObject("Scripting.FileSystemObject")を使用してファイルを読込む方法、一行ずつ書込む方法を教えていただいたのですが。
環境によってはウイルスチェックに引っかかってしまうようで、別な手段を取らなければならなくなりました。
読込み:
Set objFso = CreateObject("Scripting.FileSystemObject")
Set objTxtSt = objFso.OpenTextFile(strFilePass, 1)
strData = CStr(objTxtSt.ReadAll())
書込み:
Set objFso = CreateObject("Scripting.FileSystemObject")
Set objTxtSt = ob...続きを読む

Aベストアンサー

基本的な命令ならまずマニュアルで調べるのが妥当な方法だと思いますよ
VB付属のMSDNや Webの http://msdn.microsoft.com/ja-jp/library/default.aspx
などで ・・・

ファイルの削除なら『Kill』、存在の確認には『Dir』で出来ると思いますよ

Q子プロセス、

親プロセスから子プロセスを生成するとは具体的に何を意味しているのでしょうか?
またresume文とはなんでしょうか?
何をしてくれているのでしょうか?
なぜUNIXは安定していると言われるのでしょうか?
聞いたけど忘れてしまいました、
お願いします。

Aベストアンサー

再レスです。
身近な例ですとエクセルとかで新規作成ボタンを押すと新しいシートが作られるじゃないですか。
いくつも作れてどれも同じ動作やインターフェースをしています。
それらのシートはボタンが押されるまで存在しなかったものです。
また、それらは独立しているので、どのシートに移動しても構いませんよね。
立派な子プロセスですよね。メモ帳なんかだと親プロセスが新たに開きますね。
この例ではユーザーの操作によるものですが、プログラムによっては内部でプロセスを作り並列的に動作するものもあります。

QImage型のバイナリデータを表示したい

こんにちは。
VB6.0+SQLServer2000で開発を行っています。
Image型の項目を用意して、PictureBoxなりなんなりに表示したいのですが、バイナリデータの変換方法がわかりません。
どなたか教えてください。

とりあえず、今はこんなかんじでPG書いてます。
===============================================
Private Sub Command1_Click()
Dim rs As adodb.Recordset
Dim mstream As adodb.Stream
Dim strSql As String
On Error GoTo Err_Command1_Click

strSql = "select * from 車体画像 where 整理番号='00000001'"

Set rs = New adodb.Recordset
rs.Open strSql, cn, adOpenKeyset, adLockOptimistic

Set mstream = New adodb.Stream
mstream.Type = adTypeBinary
mstream.Open
mstream.Write rs.Fields("画像データ").Value
'ここからどうすればいいのか分かりません…
Exit Sub

Err_Command1_Click:
MsgBox Error
End Sub

こんにちは。
VB6.0+SQLServer2000で開発を行っています。
Image型の項目を用意して、PictureBoxなりなんなりに表示したいのですが、バイナリデータの変換方法がわかりません。
どなたか教えてください。

とりあえず、今はこんなかんじでPG書いてます。
===============================================
Private Sub Command1_Click()
Dim rs As adodb.Recordset
Dim mstream As adodb.Stream
Dim strSql As String
On Error GoTo Err_Command1_Click

strSql = "select * fro...続きを読む

Aベストアンサー

http://oshiete1.goo.ne.jp/kotaeru.php3?q=472113

参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=472113

Qビジネスの場における「プロセス」とは?

初めまして、今現在大学生で、企業にてインターンをやっています。

上司や社員と会話、会議をする際に「プロセス(Process)」という言葉がよく使われるんですが、その言葉自体の概念、意味を理解できていないせいでまったくピンと(理解で)きません。

例えば、ある事、業務を上司に説明した際に、
「プロセスでものを考えないと伝えたいことが上手く伝わらない」、
「このプロジェクトに関してのプロセスを資料としてまとめて」など言われます。

ここで言う「プロセス」とはどういう事でしょうか?
質問が抽象的過ぎて、答えにくいかと思いますがお願いします。

Aベストアンサー

日本語としては「手順」・「流れ」でいいんですが、「プロセス」と
言った場合、言外に「何か全体としての"システム"が存在して、
その結果としての"手順"」という意味があります。

「システム」が中身で、それが外に出てきたものが「プロセス」と
いう感じですね。往々にしてこの2つの言葉はセットにして使われ
たりしますし・・・。

単に「手順」と受け取ると、言外にある「全体としての"システム"」
を見落としてしまう可能性がある、という点には注意して下さいね。

QVB6.0(SP5)で作成したアプリの配布について

”VB6.0(SP5)” で作成したアプリケーションの配布にあたって、お伺いしたいことがあります。

客先から「今回のアプリのインストール後に、既存のVBシステム等に障害が発生しないように」と厳しく通達されています。(当然ですが…)
しかし、インストールするPCは千差万別。
どのようなシステムが既存しているかはそれぞれに違いますし
すべてのPCに完璧な動作保障は無理なのでは?と考えます。
(こんなことは言ってはいけないんですけど…)


そこで「このファイルがある場合はインストールしないように」という制限事項を付けられれば、とは思うのですが
そのような判断は可能でしょうか?
”○○.DLLがあるからこれはVB4.0のシステムが入ってる!”等と
判断できるものなのでしょうか?

なにかご存知の方、良い案をお持ちの方
いらっしゃいましたらご教示いただけないでしょうか?
よろしくお願いいたします。

Aベストアンサー

>すべてのPCに完璧な動作保障は無理なのでは?と考えます。

おっしゃる通りだと思います。

ただ、極力既存のVBシステムに影響を与えない方向でインストールすることは可能かもしれません。
(ただし、今回インストールするアプリケーションの動作は保証されないでしょうけど)

配布メディアをディストリビューションウィザードで作る場合は、setup.lstを弄ったりディストリビューションウィザード自体を弄ったりすることでカスタマイズが可能です。
...\Microsoft Visual Studio\VB98\Wizards\PDWizard\Setup1
がディストリビューションウィザードの本体です。
(カスタマイズする時はフォルダごとバックアップを取った上でやりましょう)

>”○○.DLLがあるからこれはVB4.0のシステムが入ってる!”等と判断できるものなのでしょうか?

も(やろうと思えば)可能ですし、所謂"DLL Hell"を極力避けるなら、必要なDLLを全てEXEと同じフォルダ(アプリケーションフォルダ)に配置すればいいだけですね。
これは、DLLの検索順がアプリケーションフォルダ→システムフォルダとなっているためで、これを利用してパッチを当てているソフトも多いのです。
詳しくはLoadLibrary()のヘルプを読んでみてください。

問題はActiveX DLLやOCXなどレジストリに登録する必要があり、かつ下位やバージョン違いのモジュールを配布する必要がある場合ですね。

とにかく、配布メディアのsetup.lstを見て配布される予定のファイルとその種類、レジストリ登録の有無を調査してからになると思います。

>すべてのPCに完璧な動作保障は無理なのでは?と考えます。

おっしゃる通りだと思います。

ただ、極力既存のVBシステムに影響を与えない方向でインストールすることは可能かもしれません。
(ただし、今回インストールするアプリケーションの動作は保証されないでしょうけど)

配布メディアをディストリビューションウィザードで作る場合は、setup.lstを弄ったりディストリビューションウィザード自体を弄ったりすることでカスタマイズが可能です。
...\Microsoft Visual Studio\VB98\Wizards\PDWizard...続きを読む

Qillustrator 特色やグローバルプロセスカラーについて

illustrator初心者です。
スウォッチパレットというのがあって、グローバルプロセスカラーや特色などあるのですが、このグローバルプロセスカラーを特色に変換するということはどういう意味があるのですか?
また、色を登録するときにはどの色でも特色として登録することができるのでしょうか?
よろしくお願いします。

Aベストアンサー

>一般に使う場合にはillustratorのスウォッチオプションの特色をプロセスカラーに変換して使用したりすることにはどんな意味があるのですか?それとも、これはほとんど印刷所向けのための機能なのでしょうか?

こうした板で色に関する論議をする際は、RGBカラー系とCMYKカラー系を切り分けておかないとややこしくなります。
一般の人にはCMYKも特色も無縁の領域ですから、先にも言ったように「どうぞお好きなように」です。つまり家庭用や事務用プリンタのインクはお望みのインクに変えることはできないからです。同様にプロセスカラーというCMYKについても一般のパソコンユーザには無縁な領域であり、使いようのない色体系です。
このようにプロセスカラーとかillustratorのスォッチとして登録されているDICやパントンなどは、インキを変更できる商業印刷機だけの独特のカラー体系で、それをパソコン上で事前にシミュレートする機能としてあると受け止めてください。
ただしモニタのカラー体系はRGBですから、スオッチにある特色も印刷された時の色とはずれがあります。そこで実際に印刷されたカラーチップで確認しておかないと、結果確認にはなりません。

>DTPをマスターするには印刷会社などにアルバイトしたほうが早く覚えられるのでしょうか・・・。

将来商業印刷関連の職種を指向するなら、この世界の空気に触れておくことは有意義でしょう。ただし色の決定権はデザイナーやクライアントにあるので、印刷所のオペレーターが自己決定するケースはそうザラにあるわけではありません。その辺も考慮の内に入れておいてください。
もしDTPとCMYKカラー体系について勉強したいのであれば、
↓『DTP&印刷スーパーしくみ事典』がお薦めです。

http://www.jagat.or.jp/books/Catalog/itaku.htm

参考URL:http://www.jagat.or.jp/books/Catalog/itaku.htm

>一般に使う場合にはillustratorのスウォッチオプションの特色をプロセスカラーに変換して使用したりすることにはどんな意味があるのですか?それとも、これはほとんど印刷所向けのための機能なのでしょうか?

こうした板で色に関する論議をする際は、RGBカラー系とCMYKカラー系を切り分けておかないとややこしくなります。
一般の人にはCMYKも特色も無縁の領域ですから、先にも言ったように「どうぞお好きなように」です。つまり家庭用や事務用プリンタのインクはお望みのインクに変えることはできないからで...続きを読む

QVB6.0+MyODBC5.0+MySQL4.1にてインサートデータが0になる

VB初心者です。
上記の条件でVB上からDBへインサート文を実行させたのですがMyadminを開いてデータを確認するとデータがすべて0になってしまいます。
因みにインサート文に直接データを代入するとちゃんとDBに登録されます。
OS:WinXP

Dim a AS Integer
Dim b AS Integer
Dim c AS Integer
Private Sub form_load()
Set cn = CreateObject("ADODB.Connection")
cn.Open "dsn=MySQL;uid=root;Pwd="
cn.CursorLocation = 3
a = 1
b = 2
c = 3
cn.BeginTrans
cn.Execute "insert into test values (a, b, c)"
cn.CommitTrans
cn.Close
インサートを変数指定ではなく直接(1, 2, 3)と入れると登録できます。
単純な勘違いを犯しているだけだと思うのですが、どちら様かお知恵を拝借できませんでしょうか?
よろしくお願いいたします。

VB初心者です。
上記の条件でVB上からDBへインサート文を実行させたのですがMyadminを開いてデータを確認するとデータがすべて0になってしまいます。
因みにインサート文に直接データを代入するとちゃんとDBに登録されます。
OS:WinXP

Dim a AS Integer
Dim b AS Integer
Dim c AS Integer
Private Sub form_load()
Set cn = CreateObject("ADODB.Connection")
cn.Open "dsn=MySQL;uid=root;Pwd="
cn.CursorLocation = 3
a = 1
b = 2
c = 3
cn.BeginTrans
cn.Execute "insert into test values (...続きを読む

Aベストアンサー

"insert into test values (a, b, c)"
は文字列なので、変数a,b,cを指定したことにはなりません。
"insert into test values (aaaa, bbbb, cccc)"
でも同じ結果になるはず。

"insert into test values (" & a & "," & b & "," & c & ")"
としてみて下さい。


人気Q&Aランキング