|
皆様 いつもお世話になります
ありがとうございます
To neptune さん
>test2ではshell関数を使ってますよね。shell関数ってのは非同期で
>動作するんです。なので、shell関数実行後、関数で起動したプログラムが
>どういう状態であろうが、次のステップに進みます。
>それに対して、test1では同期処理されます。したがって、msgboxが表示
>されている間は、次のステップに進みません。なので終了しない訳です。
解説ありがとうございます
同期、非同期、時折目にすることはあり、shellは使用することはあるのですが、
こうして、体感して、解説いただいて、初めて実感することが出来ました
経験しないと理解できないタイプみたいです・・・ (~_~;)
>ON さんのスキルなら、本物の開発言語に手を出してもそんなには苦労しない
>と思いますよ。(それなりに基本の習得には時間かかりますけどね)
実は、VB6、VS2008はもっているのですが・・・持っているだけで・・・(^_^;;;
なかなか、使用してみたい場面に遭遇しない・・みたいなのとスキルがない・・・
VB6は、勉強すれば使用できるような気もするのですが、.NETはちんぷんかんぷんで・・
です
>それならやっぱり、VBAではなく本当の開発言語でそれようの実行ファイルを
>作っておくとか、VBAでもそれ専用のClassにしておいたりすると、後が楽かと
>思います。
また、クラスもなかなか手が出せないです・・・レベルが低いので・・・
上記、簡単に処理手順コメント頂ければうれしいです
時間のとれる時にチャレンジしてみたいと思います
お手数と思いますがコメントあればよろしくお願いいたします
(exeについては、非同期shellで呼び出せばいいような気がしています)
To Abyss さん
ありがとうございます
APIのMSGBOXなんてあるのですか
ちっとも見かけたことがないような気がします
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call TimerMsgbox
Application.Quit
End Sub
とか試してみましたが、同期処理となってしまいます
これって、非同期で実行する方法ありますか
簡単にコメント頂けるとうれしいです
よろしくお願いいたします
To n さん
>視点を変えてこんなのもアリかもしれません。
ありがとうございます
ムムーこういうのもありですね
MSGBOXよりも親切でわかりやすいです
ありがとうございました・・・・
で、ちょっと編集(マルチライン)しようと思ったら、また、ハマってしまいました (T_T)
以前も遭遇したことがあったようなで調べてみましたが
手動で作成した場合は
ツールバー/右クリック/visual basic/コントロールツールボックス/テキストボックス
では、プロパティから MultiLine の設定が出来ますが
ツールバー/右クリック/フォーム/エディットボックス
はシートに貼り付け出来ません、またラベルは貼り付け出来ますがプロパティの
ダイアログはありません
ご提示頂いたコードで作成されたテキストボックスはフォームのコントロールなのでしょうか?
この判定はどうすれば出来ますか
また、コードで作成したコントロールに
?ActiveSheet.TextBoxes(1).name
Text 1
?ActiveSheet.Shapes(1).name
Text 1
?ActiveSheet.OLEObjects(1).name
実行時エラー '1004':Worksheet クラスの OLEObjects プロパティを取得できません。
?ActiveSheet.DrawingObjects(1).name
Text 1
とか試してみました
MultiLineについては
ActiveSheet.DrawingObjects(1).MultiLine=true
実行時エラー '438':オブジェクトは、このプロパティまたはメソッドをサポートしていません。
となってしまいます
このへん、アドバイス頂けるとうれしいです
よろしくお願いいたします
>#ただ、元スレでも書いたように、あらゆるケースでも上書き保存というのは怖くないですか?
>#そのbookの用途にもよるのでしょうけど。
>#保護やバックアップなどの対策をしっかりとっておく事も必要でしょうね。
こちらも具体的なアドバイスいただいて助かります
どのような条件で上書きされるかも不明な状況となっていますので確かに怖いです
上書き保存時には、BKフォルダに、日時付加名でBKをとって置く事にしたいと思います
Qばかりで申し訳ありませんがよろしくお願いいたします
|
|