• 締切済み

Excel95のイベントについて

またまた、Excel95についてなのですが、 ワークブックをアクティブにしたときに発生するイベントは あるのでしょうか? 97以降のものなら Workbook_Activate でできたのですが、 95のやり方がわからなくて…。 それに代わるイベント・方法でも構いませんので、 ご教授願います。

みんなの回答

回答No.3

No1です。 >テキストボックスの上にボタンを配置するとなぜかボタンが押せないのですが…。(> <) >やり方がおかしいのかしら…。(? ?)でも普通に貼り付けただけなんですが…。 失礼、そうですね、単に色を変えるだけでは無意味ですね。それで結局わたしはテキストボックスをすこし小さくして、あいた部分に貼り付けたことをおもいだしました。 すみません。

guruguru2
質問者

お礼

なるほど!!ありがとうございます。 お礼が遅くなってすいません。

  • fmajin
  • ベストアンサー率61% (75/122)
回答No.2

95には、イベントという概念がないですね。 その代わり、特定のマクロ名を付けることで、ある時点でマクロを自動実行させることができるようになっています。 「Auto_Open」ファイルを開いたとき 「Auto_Close」ファイルを閉じるとき 「Auto_Activate」アクティブになったとき 「Auto_Deactivate」非アクティブになったとき ですので、「Auto_Activate」というマクロ名で作ってみてください。 しかし、クライアントの要求とはいえ、95での設計となると、開発側も苦労するし、クライアント側も満足のいくものが得られないんじゃないしょうかねぇ…。 お疲れ様です。

guruguru2
質問者

補足

実は「Auto_Activate」関数は、もう試したのですが なぜかイベントが発生しないのです。 ダイアログシートをアクティブにしたとき というよりはブックをアクティブにしたときに発生したいのですが、どうにもうまくいかず…。 また、仕様としてはあるボタンを押すと別のブックを立ち上げるのですが フォームを非表示にしないと立ち上げたブックを編集 できないのはExcel95の仕様なのでしょうか?(すみません。質問が増えてしまって…。)

回答No.1

95のVBAには「イベント」という概念がなかったように思います。 アクティブじゃなく開いた場合ならSub Auto_Openで実行されるのですが。 それからちょっと前に95のダイアログシートの色を変えたいと書かれてましたね。もう締め切ったようなのでここに書きます。 95ではシートの色は変えられませんが、かわりにテキストボックス(これなら色をつけられますから)を貼り付けるという手があります。ボタンはその上に配置します。

guruguru2
質問者

お礼

おお!!テキストボックスという手が!! オートシェイプで最初やろうとしたら、実行画面が おかしくなってしまって…。ありがとうございます!!(^^)

guruguru2
質問者

補足

お礼を書いた後で何なんですが、テキストボックスの上にボタンを配置するとなぜかボタンが押せないのですが…。(> <) やり方がおかしいのかしら…。(? ?)でも普通に貼り付けただけなんですが…。

関連するQ&A

  • エクセルVBAについてです。

    マクロが何も組み込まれていないワークブックAの Thisworkbookに「Workbook_SheetActivate」 イベントを追加する方法を考えています。 マクロが組み込まれているワークブックBのモジュールを ワークブックAにコピーする方法は下記のサイトで見つける ことができました。 http://officetanaka.net/excel/vba/vbe/07.htm しかし、モジュールの追加はできても、Thisworkbookに 追加する方法はわかりませんでした。 何か良い方法はないでしょうか?

  • ExcelVBAで質問です。Workbook_openイベントが発生し

    ExcelVBAで質問です。Workbook_openイベントが発生しない。 Excel2003を開いている状態で「ファイル」→「開く」でファイルを開くと Workbook_openイベントが発生しません。他のマクロは正常に動くのですが、 Excelを閉じている状態でファイルを開くとWorkbook_openイベントが発生します。 (Workbook_Activateイベントでも同様の結果になりました。) なぜでしょうか?基本的なことかもしれないですが教えていただけると幸いです。 宜しくお願いします。

  • Excel VBA 標準モジュール内でイベント

    ワークブックのイベントWorkbook_Openを標準モジュールのAuto_Openで代用できるように ワークシートのイベントWorksheet_Changeを標準モジュールで実行できるようにすることは できなものでしょうか。 その他のイベントに関しても情報があれば教えてください。

  • ウィンドウのアクティブイベント

    Excel VBAで、ウィンドウがアクティブになった時に呼び出されるイベントプロシジャーを教えて下さい。 Workbook_SheetActivate、Workbook_WindowActivate、Workbook_Activateは検証しました。 Workbook_Activateイベントはブックがオープンされた時のみ呼び出され、それ以外の イベントプロシジャーについては、アクティブになっても全く反応しませんでした。 他のアプリケーションウィンドウとの行き来の際、アクティブになる度に処理を入れたいと 思っています。 よろしくお願い致します。

  • Excel VBAでの初期設定

    Excel VBA 初心者です。Excelは2013です。VBAでBookを開いたときにあるシートの初期設定をしたいと考えています。Activateイベントを使おうと思いましたがイベントが発生しないことがあるため質問しています。 例として以下のようなコードを記述したとき、sheet1以外を開いて保存している場合にはActivateイベントは発生しますが、sheet1を開いて保存している場合にはイベントが発生しないため初期設定の処理ができませんでした。 対応方法をお分かりの方ご教授いただけないでしょうか。 ============================= '"以下をThisWorkbook"に記述 Private Sub Workbook_Open() '②Worksheets("sheet2").Activate も入れれば Activateイベントは発生する Worksheets("sheet1").Activate '①もともと sheet1がActiveで保存されていた場合、Activateイベントは発生しなかった End Sub ============================= '"以下をsheet1"に記述 Private Sub Worksheet_Activate() '初期設定処理 MsgBox "sheet1の初期設定をしました" End Sub ============================= 宜しくお願いします。

  • エクセル2010でのBeforePrintイベント

    これまでエクセル2003を使っていました。 Private Sub Workbook_BeforePrint(Cancel As Boolean) MsgBox "印刷指示されました。" End Sub このコードで、PrintでもPrintPreviewでもイベントが発生しました。 ところが、今エクセル2010でためしたところ、Previewではイベントが発生しません。印刷を指示しないかぎり発生しないようです。 では、新たにBeforePrintPreview?ができたのかと思いましたが見当たりません。 2010でPrintPreviewでイベントを発生させる方法はありますか? あるいは2003で、PrintとPrintPreviewのイベントを別に取得する方法はありますか? 教えてください。

  • Excel:Activateイベントについて

     一枚だけのシートから成るブックを作成します。  シートにActivateイベントを設定しておくと、ブックを開いたときに一度だけ実行されますが、シートを開いた状態のままで、再度Activateイベントを発生させる方法が分かりません。  もし、妙案をお持ちの方がいらっしゃいましたら、よろしくご教授の方、お願いいたします。

  • Excelのセル変化イベント

    Excel2000及びExcel2010で動作させるVBAマクロを作成しております。 シート上にコマンドボタン配置し、データチェックを行うマクロを登録してあります。 任意のセルにデータを入力し、コマンドボタンを押下することで マクロが実行され、セルの内容をチェックし、不正があればセルを赤くします。 また新たにセルに値が入力されたときにはセルを白くしています。 ※セルに値が入ったことを認識するためにWorkbook_SheetSelectionChangeのイベントを利用しています。 基本的には問題なく動作するのですが、 下記の場合、Excel2000と2010で動作が異なって困っています。 ★手順 (1)任意のセルで”F2"キーを押下し、編集状態とする。 (2)そのままの状態でデータチェックのコマンドボタンを押下する。 【Excel2000の場合】 コマンドボタンが押せない。 【Excel2010の場合】 コマンドボタンが押せる。 このとき、データチェックのマクロがまず実行され、 セルの内容に不正がある場合は赤くなるが、 直後にWorkbook_SheetSelectionChangeイベントが発生し、 「新しい入力」と判断してセルがすぐに白くなってしまう。 =>一瞬セルが赤くなるがすぐに白くなる。 なんとかExcel2000と2010とで動作内容を合わせたいのです。 そこで、コマンドボタンが押下されたとき、 編集中のセルが存在すればマクロは実行しない・・・という方法を考えましたが、 「セルが編集中」であるかはどのようにして判断すればよいでしょうか?

  • 複数のExcelファイルを生成

    いつもお世話になっています。 <環境> Red Hat Enterprise Linux ES v.4 PHP 4.4.2(cli) PHPからExcelファイルを操作するのに エラーが起こってしまっています。 test.php ---------------------------------------- // 新規ワークブックを生成 $WorkBook1 = new Spreadsheet_Excel_Writer('test1.xls'); // 新規ワークシートを生成 $WorkSheet2 =& $WorkBook1->addWorksheet('sheet1'); // 一回閉じる $WorkBook1->close(); // 新規ワークブックを生成 $WorkBook2 = new Spreadsheet_Excel_Writer('test2.xls'); // 新規ワークシートを生成 $WorkSheet2 =& $WorkBook2->addWorksheet('sheet2'); // 閉じる $WorkBook2->close(); としているのですが・・・ Fatal error: Call to undefined function: close() in /usr/local/lib/php/Spreadsheet/Excel/Writer/Workbook.php on line 407 上記のようにライブラリでエラーになってしまいます。 複数のExcelファイルをtest.phpで作成することはできないのでしょうか? すみませんが、ご教授お願いいたします。

    • 締切済み
    • PHP
  • excelでApplicationのウィンドウ変更時に発生するイベントの取得方法。

    こんにちは。 excelでApplicationのウィンドウ変更時に発生するイベントの取得方法を知りたいと思っています。 Application.Height Application.Width を変更した時のイベントです。 Excelの中の個々のWorkBook画面の変更時は WindowResizeで取れましたが、 大元のexcel画面を変更した時が取得できません。 ご存知の方、宜しくお願い致します。 環境 excel:Office2000です。

専門家に質問してみよう