Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1932 / 13645 ツリー ←次へ | 前へ→

【70966】Excel 亜矢 12/1/21(土) 14:40 質問[未読]
【70969】Re:Excel Abyss 12/1/21(土) 23:44 質問[未読]
【70970】Re:Excel 亜矢 12/1/22(日) 7:21 質問[未読]
【70971】Re:Excel Abyss 12/1/22(日) 16:23 質問[未読]
【70972】Re:Excel 亜矢 12/1/22(日) 20:22 質問[未読]
【70976】Re:Excel Abyss 12/1/23(月) 0:43 発言[未読]
【70978】Re:Excel ちん 12/1/23(月) 9:38 発言[未読]
【70979】Re:Excel 亜矢 12/1/23(月) 10:26 お礼[未読]

【70966】Excel
質問  亜矢  - 12/1/21(土) 14:40 -

引用なし
パスワード
   1.エクセルを起動します
2.エクセル側からMs Projectを起動します。
3.MS Projectの中のUserform1を開きます。
4.Userform1で設定が終了したら
 下記のプログラム(カレンダー設定)を動かします。
下記のプログラムはMs Projectに書いてあります。
Sub カレンダー設定()
Dim i, j, k, H
Dim xlapp As Excel.Application
Dim RS(1 To 2)
Dim OAPP As Object
Dim MyXL As Object
Dim ExcelWasNotRunning As Boolean

 Set MyXL = GetObject(, "Excel.Application")
 Set MyXL = GetObject("C:\部品展開.xls")
 MyXL.Application.Visible = True
 MyXL.Sheets("部品数").Range("T1") = UserForm1.Label3684.Caption
 ・
 ・
end sub

 問題は通常Userform1を動かしていれば問題は発生しませんが
 userform1の設定に時間がかかる場合(1分以上)に
 MyXL.Application.Visible=Trueの所でエラーが発生します。
 
 エラー内容は
 ”アプリケーション定義またはオブジェクト定義エラーです”
 解決策を教えて頂きたいと思います。
 

【70969】Re:Excel
質問  Abyss  - 12/1/21(土) 23:44 -

引用なし
パスワード
   > 4.Userform1で設定が終了したら
> 下記のプログラム(カレンダー設定)を動かします。
       :
       :
>  問題は通常Userform1を動かしていれば問題は発生しませんが
> userform1の設定に時間がかかる場合(1分以上)に
> MyXL.Application.Visible=Trueの所でエラーが発生します。

??説明からだと、

「userform1の設定に時間がかかる場合 ...」

こんなケースに置かれても、「Userform設定が終了したら」
実行させるのないでしょうか?

【70970】Re:Excel
質問  亜矢  - 12/1/22(日) 7:21 -

引用なし
パスワード
   ▼Abyss さん:
>> 4.Userform1で設定が終了したら
>> 下記のプログラム(カレンダー設定)を動かします。
>       :
>       :
>>  問題は通常Userform1を動かしていれば問題は発生しませんが
>> userform1の設定に時間がかかる場合(1分以上)に
>> MyXL.Application.Visible=Trueの所でエラーが発生します。
>
>??説明からだと、
>
>「userform1の設定に時間がかかる場合 ...」
>
>こんなケースに置かれても、「Userform設定が終了したら」
>実行させるのないでしょうか?
説明が不足していました。Userformの設定に時間がかかるとは
種々設定項目があり、人が考える時間がかかるという意味です。
当然Userformが終了してから次のプログラムが走ることになっています。

【70971】Re:Excel
質問  Abyss  - 12/1/22(日) 16:23 -

引用なし
パスワード
   > 1.エクセルを起動します
> 2.エクセル側からMs Projectを起動します。

 (ここまでExcel VBAで、この時点でExcel VBAは完了)

> 3.MS Projectの中のUserform1を開きます。

 (MS ProjectのUserform起動は手動)

> 4.Userform1で設定が終了したら
> 下記のプログラム(カレンダー設定)を動かします。

 (ここからMS Project側のVBAがスタート)

こんな理解でいいんですか?

【70972】Re:Excel
質問  亜矢  - 12/1/22(日) 20:22 -

引用なし
パスワード
   ▼Abyss さん:
>> 1.エクセルを起動します
>> 2.エクセル側からMs Projectを起動します。
>
> (ここまでExcel VBAで、この時点でExcel VBAは完了)
>
>> 3.MS Projectの中のUserform1を開きます。
>
> (MS ProjectのUserform起動は手動)
>
>> 4.Userform1で設定が終了したら
>> 下記のプログラム(カレンダー設定)を動かします。
>
> (ここからMS Project側のVBAがスタート)
>
>こんな理解でいいんですか?
2.のところはExcelのVBAは終了してなくてExcel側からプロジェクトのVBA
 を起動してMS ProjectのVBAが終了したら、再度ExcelのVBAに戻ります。
4.は正しいです。
 以上よろしくお願いします。

【70976】Re:Excel
発言  Abyss  - 12/1/23(月) 0:43 -

引用なし
パスワード
   >2.のところはExcelのVBAは終了してなくてExcel側からプロジェクトのVBA
>  を起動してMS ProjectのVBAが終了したら、再度ExcelのVBAに戻ります。

Excel VBAとMS ProjectのVBAがどのようにバトンタッチするのか
疑問ですが、Userformの起動は「必ず」Modalの必要がある様に
思います。

ご提示コードからはこれ以上のものは見えませんので、私としては
この辺で。

【70978】Re:Excel
発言  ちん  - 12/1/23(月) 9:38 -

引用なし
パスワード
   ▼亜矢 さん:こんにちわ、ちんといいます。

.Application.Visibleを検索すると、制御が難しいようです。
HTTP://park7.wakwak.com/~efc21/cgi-bin/exqalounge.cgi?print+200709/07090178.txt

APIでMS PROJECTを起動した方が良いと思われますが・・・

参考までに・・・

【70979】Re:Excel
お礼  亜矢  - 12/1/23(月) 10:26 -

引用なし
パスワード
   ▼ちん さん:
>▼亜矢 さん:こんにちわ、ちんといいます。
>
>.Application.Visibleを検索すると、制御が難しいようです。
>HTTP://park7.wakwak.com/~efc21/cgi-bin/exqalounge.cgi?print+200709/07090178.txt
>
>APIでMS PROJECTを起動した方が良いと思われますが・・・
>
>参考までに・・・
皆様たくさんのアドバイスありがとうございました。
これらを参考にいろいろテストをしてみます。
 今回のとりあえずここで終了とさせてください。

1932 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free