エクセルのシートを最小化するには?

解決


ペンネーム  2009-10-23 10:14:58  No: 146414  IP: 192.*.*.*

お世話になっております。
エクセルのファイルをvb2008のpgで立ち上げたのですが、
今度は、そのファイルを最小化したいのですが、どうすればいいのでしょうか?

編集 削除
特攻隊長まるるう  2009-10-23 13:02:07  No: 146415  IP: 192.*.*.*

プログラムの起動方法はたくさんあるので
> エクセルのファイルをvb2008のpgで立ち上げたのですが、
これでは説明になっていません。

前スレをリンクします。
http://madia.world.coocan.jp/cgi-bin/vbnet/wwwlng.cgi?print+200910/09100017.txt

検証してませんが、Process.Start メソッドのヘルプ(MSDN)に
ProcessStartInfo を設定する例が載ってましたので試してみては?

編集 削除
ペンネーム  2009-10-23 15:51:18  No: 146416  IP: 192.*.*.*

特攻隊長まるるうさん、ありがとうございました。
また、質問があるのですが、以下のとおりにやってみたら、
ファイルが最小化になりません。
他になにか設定をしないとならないのでしょうか?
すみませんが、教えてください。
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

編集 削除
 2009-10-24 05:59:43  No: 146417  IP: 192.*.*.*

改善点は以下の通りです。
・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

編集 削除
ひよこ  2009-10-26 13:15:13  No: 146418  IP: 192.*.*.*

仕様がわからないけど、最小化でエクセル立ち上げる意味ってあるんでしょうか?

Process.Startでエクセルを立ち上げるってことは、VBからエクセルの操作は
しないってことなんですよね?

視覚的になんらかの情報を表示する為にエクセル使うって考えたら
起動時に最小化する必要性が自分にはわからないです
自分の考えがいたらないだけでしょうか?


Excel.Applicationを使って裏でエクセルの処理を行うっていうのならわかるのですが、、、

編集 削除
ペンネーム  2009-10-27 17:31:16  No: 146419  IP: 192.*.*.*

返信遅れてすみません。
あさん、いろいろご指摘していただき、ありがとうございました。
あさんのとおりにやってみたら、うまくいきました。
本当にありがとうございます。
それから、ひよこさん、今やっていることは、エクセルの操作は、
しないんです。
エクセルのデータを参照のためだけにやっているんです。
うちの会社では、CADを使っているのでですが、そのCADを開いた状態で、VBのPGを起動して、入力データ(この場合は、エクセルデータです)を呼び出してから、CADのプログラムを起動させることをやっているんです。
その場合、エクセルが表示された状態で、CADのPGを起動させると、
どうしても、エクセルが邪魔になるので、最小化にすることを考えていたのです。
わかりましたでしょうか?

編集 削除
目視?  2009-10-28 09:32:36  No: 146420  IP: 192.*.*.*

Process.StartでExcel開いて値の参照ってできたっけ?

もしかして、「参照」って開いたファイルを自分で見るってことか?

編集 削除