- ベストアンサー
EXCELをもう一つ立ち上げたい
マクロを使用して sub 関数1 shell "C:\Program Files\Microsoft Office\Office\EXCEL.EXE", 1 end sub と記述すれば EXCELがもう一つたちあがります。 また、 sub 関数2 Workbooks.Open FileName:="C:\MyDocuments\aa.xls" end sub と記述すればMyDocments配下のaa.xls というファイルがたちあがります。 そこで、ここから本題なのですが、 aa.xlsというEXCELファイルをもう一つのEXCELに立ちげる方法を教えて頂けませんでしょうか? よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
新しいモジュールを作成して、下記の内容を貼り付けてください ExcelTestは、 sub 関数1の応用ですね ExcelTest2は、オブジェクトを使ったやり方です。 ExcelAppオブジェクトを操作して、呼び出し側でさまざまな操作を実行してやることができます。 CloseExcelTest2 はその応用例で、作成したExcelのウインドウを(保存してから)閉じています。 なんかあれば、補足してくださいね。 Option Explicit Dim ExcelApp As Excel.Application Sub ExcelTest() Dim strExcelPath As String Dim strFileName As String '開くファイルを設定 strFileName = "aa.xls" 'Excelのパスを調べる strExcelPath = Application.Path '実行 Shell strExcelPath & "\Excel.EXE """ & strFileName & """" End Sub Sub ExcelTest2() Dim strFileName As String '開くファイルを設定 strFileName = "aa.xls" '新しいExcelのインスタンスを作成する Set ExcelApp = New Excel.Application '開く ExcelApp.Workbooks.Open strFileName '表示 ExcelApp.Visible = True End Sub Sub CloseExcelTest2() 'ExcelTest2で作成したインスタンスを破棄する On Error Resume Next '変更点の保存 ExcelApp.Workbooks(1).Save 'ウインドウを閉じる ExcelApp.Workbooks.Close 'インスタンスを破棄 Set ExcelApp = Nothing End Sub
その他の回答 (1)
- yoshioz
- ベストアンサー率28% (10/35)
こんな感じで2つのaa.xlsが開けます。 ただし後で開いた方は読みとり専用になります。 Private xl1 As Excel.Application Private xl2 As Excel.Application Private Sub Open2aa() Set xl1 = New Excel.Application xl1.Visible = True xl1.Workbooks.Open ("aa.xls") Set xl2 = New Excel.Application xl2.Visible = True xl2.Workbooks.Open ("aa.xls") End Sub
補足
すいません説明不足だったようです。 aa.xls を二つのEXCEL Application で開けるという ことではないのです。。 aa.xlsは一つだけで十分です。 が、上記コードを参考にちょっとやってみます。 本当にありがとうございました。
お礼
すいません返信がおそくなりましたが、 上記1のプログラムをほぼ使用して完成しました。 (他人のプログラムを使用することは違法なんですね^^;) ありがとうございました。