- ベストアンサー
Excelの起動
1度に2つのExcelBookを起動させたいのですが、 (1方は計算対象として、もう1方は計算結果を書込み) Set xlApp = CreateObject("Excel.Application") Set xlBookS = xlApp.Workbooks.Open(Form1.Text1.Text) xlApp.Worksheets("シート1").Activate Set xlSheetS = xlBookS.Worksheets("シート1") Set xlBookK = xlApp.Workbooks.Open(Form1.Text2.Text) Workbooks.Open Form1.Text2.Text, Password:="パスワード " Set xlSheetK = xlBookK.Worksheets("シート2") としていますが、パスワードのところでエラーが発生 してしまいます。タイミングが悪いのでしょうか?それ とも全体的に問題があるとか。。。^^; よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
これってホントのソースを貼り付けてますか? Text2 に書かれているブックを二重に開くんでしょうか・・・ にしては、2回目に開いているコードは Excel を参照設定しているような書き方だし・・・ 名前付き引数って参照設定しないとエラーになりますよ。 きちんと順番どおりにカンマで送ってあげないと。 Dim xlApp Dim xlBookS Dim xlSheetS Dim xlBookK Dim xlSheetK Set xlApp = CreateObject("Excel.Application") Set xlBookS = xlApp.Workbooks.Open("D:\Book1.xls") Set xlSheetS = xlBookS.Worksheets("シート1") xlSheets.Select Set xlBookK = xlApp.Workbooks.Open("D:\Book2.xls", , , , "hogehoge") Set xlSheetK = xlBookK.Worksheets("シート2") xlSheetK.Select xlApp.Visible = True MsgBox "OK" 'xlBookS.Close 'xlBookK.Close 'xlApp.Quit Set xlSheetS = Nothing Set xlBookS = Nothing Set xlSheetK = Nothing Set xlBookK = Nothing Set xlApp = Nothing なお、Book2.xls には読み取り専用のパスワードが掛かっています。(書き込みパスワードは設定していません)
その他の回答 (4)
- you111111
- ベストアンサー率45% (20/44)
やっとつながったと思ったら・・・既に回答出ていましたね(^^; 忘れてください。
- you111111
- ベストアンサー率45% (20/44)
パスワードの設定のところに問題があります。 >Set xlBookK = xlApp.Workbooks.Open(Form1.Text2.Text) > >Workbooks.Open Form1.Text2.Text, Password:="パスワード " ではなくて Set Set xlBookK = xlApp.Workbooks.Open(Form1.Text2.Text,,,,"パスワード") と、Openメソッドの第5引数のところで設定すればできますよ。
お礼
ありがとうございました。 解決しました。せっかく教えて頂いたのに 忘れはしませんよ。 またよろしくお願い致します。
#2です。 「エラーが発生してしまいます。」って場合は、そのエラー内容も書かないとね。
- Hageoyadi
- ベストアンサー率40% (3145/7860)
2つを開いたままで、保存時にファイル→作業状態の保存で生成されるショートカットアイコンをダブルクリックすることで、お望みのことが出来るはずですが、VBやVBAでないとダメ?
補足
そーなんです。^^; VBでなければ。。。なんです。
お礼
ありがとうございました。 解決致しました。ご指摘頂いたように次回より エラー内容も記述するよう気をつけたいと思います。 またよろしくお願い致します。