Top > OOobbs2 > 24

OOobbs2/24 Edit

  • サマリ: マクロを一時停止させる
  • 環境: Calc
  • 状態: 解決
  • 投稿者: くま?
  • 投稿日: 2007-02-02 (金) 17:04:04

質問 Edit

 お世話になります。また教えてください。  マクロの実行を一時停止させ、L1:L10内の入力データの訂正などを行った後、マクロを再開させるにはどうしたらよいのでしょう。使い方としては、マクロの最初の方でデータ入力をし、一括計算する前に、入力データの修正がないかどうかを確認させる、というもので、マクロ実行中にいったん手操作を挟み、修正箇所がなくなったのを確認して、マクロの実行を再開したいのです。  inputboxを使うと、マクロは止まりますが、手操作入力ができません。また、msgboxですと、Y or N など、決まった手操作しかできません。よろしくお願いします。

回答 Edit

  • ダイアログ等(InputBox、MsgBox、BasicDialog)を表示するとデータを編集できなくなります。そのため、マクロを一旦停止させてデータを修正するといった用途には使用できません。

Developer's Guide ではマクロを For 文でループさせてスレッドのようにしている例がありますが、修正が終わったあとでループを抜け出させるためにはマクロの実行またはリスナーなどの利用が必要です。「マクロの途中でダイアログを表示して」といった決まった位置での場合にはマクロを別にするほうがいいのかもしれません。

non-modal ダイアログを使えばできるでしょうが、結構面倒です。

  • はにゃ?? 2007-02-21 (水) 17:38:42

感想,コメント,メモ Edit

  • 一度取り下げいたします。もう少し知識を蓄積してから再度チャレンジしますので。 -- くま? 2007-02-21 (水) 17:08:22


Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup   Help   RSS of recent changes