• ベストアンサー

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に立ちげる方法を教えて頂けませんでしょうか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • ARC
  • ベストアンサー率46% (643/1383)
回答No.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

noname#1802
質問者

お礼

すいません返信がおそくなりましたが、 上記1のプログラムをほぼ使用して完成しました。 (他人のプログラムを使用することは違法なんですね^^;) ありがとうございました。

その他の回答 (1)

  • yoshioz
  • ベストアンサー率28% (10/35)
回答No.1

こんな感じで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

noname#1802
質問者

補足

すいません説明不足だったようです。 aa.xls を二つのEXCEL Application で開けるという ことではないのです。。 aa.xlsは一つだけで十分です。 が、上記コードを参考にちょっとやってみます。 本当にありがとうございました。

関連するQ&A