お世話になっております。
エクセルのファイルをvb2008のpgで立ち上げたのですが、
今度は、そのファイルを最小化したいのですが、どうすればいいのでしょうか?
プログラムの起動方法はたくさんあるので
> エクセルのファイルをvb2008のpgで立ち上げたのですが、
これでは説明になっていません。
前スレをリンクします。
http://madia.world.coocan.jp/cgi-bin/vbnet/wwwlng.cgi?print+200910/09100017.txt
検証してませんが、Process.Start メソッドのヘルプ(MSDN)に
ProcessStartInfo を設定する例が載ってましたので試してみては?
特攻隊長まるるうさん、ありがとうございました。
また、質問があるのですが、以下のとおりにやってみたら、
ファイルが最小化になりません。
他になにか設定をしないとならないのでしょうか?
すみませんが、教えてください。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If OpenFileDialog1.ShowDialog =Windows.Forms.DialogResult.OK Then
Dim startInfo As New ProcessStartInfo(OpenFileDialog1.FileName)
Process.Start(startInfo)
startInfo.WindowStyle = ProcessWindowStyle.Minimized
End If
End Sub
改善点は以下の通りです。
・Process.Startを行う前にProcessStartInfoの設定を行う
ProcessStartInfoは、Process.Startを行うためのパラメータですので、Process.Start後に設定しても意味がありません。
・Process.Startの対象は、OpenFileDialog1.FileNameではなく、"excel.exe"
Process.Startの対象をファイル名(ここではOpenFileDialog1.FileName)にすると、このファイルに関連付けられているソフト
(この場合はexcel.exe)が立ち上がりますが、この場合、excel.exeに対してはProcessStartInfoのパラメータはうまく働かないようです。
これらを考慮して、以下のようにしてみたらどうですか?
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If OpenFileDialog1.ShowDialog =Windows.Forms.DialogResult.OK Then
Dim startInfo As New ProcessStartInfo("excel.exe") 'Processの対象はexcel.exe
startInfo.WindowStyle = ProcessWindowStyle.Minimized
startInfo.Arguments = OpenFileDialog1.FileName 'excelの起動時引数としてファイル名を設定
Process.Start(startInfo)
End If
End Sub
仕様がわからないけど、最小化でエクセル立ち上げる意味ってあるんでしょうか?
Process.Startでエクセルを立ち上げるってことは、VBからエクセルの操作は
しないってことなんですよね?
視覚的になんらかの情報を表示する為にエクセル使うって考えたら
起動時に最小化する必要性が自分にはわからないです
自分の考えがいたらないだけでしょうか?
Excel.Applicationを使って裏でエクセルの処理を行うっていうのならわかるのですが、、、
返信遅れてすみません。
あさん、いろいろご指摘していただき、ありがとうございました。
あさんのとおりにやってみたら、うまくいきました。
本当にありがとうございます。
それから、ひよこさん、今やっていることは、エクセルの操作は、
しないんです。
エクセルのデータを参照のためだけにやっているんです。
うちの会社では、CADを使っているのでですが、そのCADを開いた状態で、VBのPGを起動して、入力データ(この場合は、エクセルデータです)を呼び出してから、CADのプログラムを起動させることをやっているんです。
その場合、エクセルが表示された状態で、CADのPGを起動させると、
どうしても、エクセルが邪魔になるので、最小化にすることを考えていたのです。
わかりましたでしょうか?
Process.StartでExcel開いて値の参照ってできたっけ?
もしかして、「参照」って開いたファイルを自分で見るってことか?