Excel VBA質問箱 IV

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

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


11769 / 13644 ツリー ←次へ | 前へ→

【14076】変数の宣言を強制する WAKO 04/5/20(木) 15:53 質問[未読]
【14077】Re:変数の宣言を強制する Asaki 04/5/20(木) 16:00 回答[未読]
【14081】Re:変数の宣言を強制する WAKO 04/5/20(木) 16:25 質問[未読]
【14082】Re:変数の宣言を強制する Asaki 04/5/20(木) 16:31 回答[未読]
【14084】Re:変数の宣言を強制する WAKO 04/5/20(木) 17:08 質問[未読]
【14085】Re:変数の宣言を強制する Jaka 04/5/20(木) 17:19 回答[未読]
【14162】Re:変数の宣言を強制する WAKO 04/5/22(土) 13:09 質問[未読]
【14186】Re:変数の宣言を強制する よろずや 04/5/22(土) 17:46 回答[未読]
【14198】Re:変数の宣言を強制する WAKO 04/5/23(日) 14:03 質問[未読]
【14211】Re:変数の宣言を強制する よろずや 04/5/23(日) 20:30 回答[未読]
【14217】Re:変数の宣言を強制する WAKO 04/5/23(日) 23:05 質問[未読]
【14231】Re:変数の宣言を強制する IROC 04/5/24(月) 10:42 回答[未読]
【14249】Re:変数の宣言を強制する Jaka 04/5/24(月) 15:04 発言[未読]
【14262】Re:変数の宣言を強制する よろずや 04/5/24(月) 22:28 発言[未読]
【14278】Re:変数の宣言を強制する POP 04/5/25(火) 13:01 質問[未読]
【14279】Re:変数の宣言を強制する よろずや 04/5/25(火) 13:16 回答[未読]

【14076】変数の宣言を強制する
質問  WAKO  - 04/5/20(木) 15:53 -

引用なし
パスワード
   VBAのツール --> オプションで "変数の宣言を強制する"
のチェックボックスがあります。

これをマクロで、OPEN時に
もしチェックが入っていたら、チェックをはずして、
マクロが終了すれば元に戻すような処理ができるでしょうか。
だれか教えて下さい。

【14077】Re:変数の宣言を強制する
回答  Asaki  - 04/5/20(木) 16:00 -

引用なし
パスワード
   こんにちは。

チェックをつけておいたほうが、のちのち困りません。

一度、メニューから デバッグ >> VBAProjectのコンパイル
を実行して、全ての文法エラーをなくしてから実行されることをお薦めします。

【14081】Re:変数の宣言を強制する
質問  WAKO  - 04/5/20(木) 16:25 -

引用なし
パスワード
   ▼Asaki さん:
こんにちは。
そうなのですが、実はマクロでマクロを記述する
事をやっており、チェックが入っていると
マクロでマクロを記述した内容の一番後ろに
Option Explicitが書かれるので、実行するとコンパイルエラーになるのです。
書く内容は、下の通りです。

  With ThisWorkbook.VBProject.VBComponents.Item("Sheet1").CodeModule

    .InsertLines 1, "Private Sub CommandButton1_Click()"
    .InsertLines 2, ""
    .InsertLines 3, "Call ErrChk"
    .InsertLines 4, ""
    .InsertLines 5, "End Sub"
  End With

  With ThisWorkbook.VBProject.VBComponents.Item("Sheet1").CodeModule

    .InsertLines 1, "Private Sub CommandButton2_Click()"
    .InsertLines 2, ""
    .InsertLines 3, "Call ErrKensaku"
    .InsertLines 4, ""
    .InsertLines 5, "End Sub"
  End With

  With ThisWorkbook.VBProject.VBComponents.Item("Sheet1").CodeModule

    .InsertLines 1, "Private Sub CommandButton3_Click()"
    .InsertLines 2, ""
    .InsertLines 3, "Call CsvHozon"
    .InsertLines 4, ""
    .InsertLines 5, "End Sub"
  End With

  With ThisWorkbook.VBProject.VBComponents.Item("Sheet1").CodeModule

    .InsertLines 1, "Private Sub CommandButton4_Click()"
    .InsertLines 2, ""
    .InsertLines 3, "Call Modoru"
    .InsertLines 4, ""
    .InsertLines 5, "End Sub"
  End With

だれか、防ぐ方法を教えて下さい


▼Asaki さん:
>こんにちは。
>
>チェックをつけておいたほうが、のちのち困りません。
>
>一度、メニューから デバッグ >> VBAProjectのコンパイル
>を実行して、全ての文法エラーをなくしてから実行されることをお薦めします。

【14082】Re:変数の宣言を強制する
回答  Asaki  - 04/5/20(木) 16:31 -

引用なし
パスワード
   全部書き込んだ後に、そのモジュール全体を読み込んで、
「Option Explicit」を削除
とかは、タイミング的に手遅れ?

【14084】Re:変数の宣言を強制する
質問  WAKO  - 04/5/20(木) 17:08 -

引用なし
パスワード
   ▼Asaki さん:
手遅れではないです。
モジュール全体を読み込んで、
Option Explicitを削除する方法はわかりますか。
だれか教えて下さい


▼Asaki さん:
>全部書き込んだ後に、そのモジュール全体を読み込んで、
>「Option Explicit」を削除
>とかは、タイミング的に手遅れ?

【14085】Re:変数の宣言を強制する
回答  Jaka  - 04/5/20(木) 17:19 -

引用なし
パスワード
   Sub monmon()
  Dim obj作成Moju As Object
  Set obj作成Moju = ActiveWorkbook.VBProject.VBComponents.Add(ComponentType:=1)
  obj作成Moju.Properties("Name").Value = "作成Module"
  DoEvents
  
  With ActiveWorkbook.VBProject.VBComponents("作成Module").CodeModule
    .InsertLines 1, "Public mon AS String"
    .Deletelines 1, .Countoflines
    .InsertLines 1, "sub bubu()" & vbCrLf & _
             "msgbox 555" & vbCrLf & _
             "end sub "
  End With
End Sub

【14162】Re:変数の宣言を強制する
質問  WAKO  - 04/5/22(土) 13:09 -

引用なし
パスワード
   ▼Jaka さん:
すいません、返信が遅くなりまして、
シート1の中のマクロはこのようになります。

Private Sub CommandButton4_Click()

Call Modoru

End Sub
Private Sub CommandButton3_Click()

Call CsvHozon

End Sub
Private Sub CommandButton2_Click()

Call ErrKensaku

End Sub
Private Sub CommandButton1_Click()

Call ErrChk

End Sub
Option Explicit

上のOption Explicitで落ちます。モジュールではないので
▼Jaka さんの書かれたソースの"作成Module"
の所はどのようにいれればよろしいか分かりますか
すいませんが分かるようでしたら教えて下さい。


▼Jaka さん:
>Sub monmon()
>  Dim obj作成Moju As Object
>  Set obj作成Moju = ActiveWorkbook.VBProject.VBComponents.Add(ComponentType:=1)
>  obj作成Moju.Properties("Name").Value = "作成Module"
>  DoEvents
>  
>  With ActiveWorkbook.VBProject.VBComponents("作成Module").CodeModule
>    .InsertLines 1, "Public mon AS String"
>    .Deletelines 1, .Countoflines
>    .InsertLines 1, "sub bubu()" & vbCrLf & _
>             "msgbox 555" & vbCrLf & _
>             "end sub "
>  End With
>End Sub

【14186】Re:変数の宣言を強制する
回答  よろずや  - 04/5/22(土) 17:46 -

引用なし
パスワード
   フォームの方のボタンを使えば、シートモジュールにマクロを書く必要はありません。

【14198】Re:変数の宣言を強制する
質問  WAKO  - 04/5/23(日) 14:03 -

引用なし
パスワード
   ▼よろずや さん:
フォームは、ユーザーの希望で
使用不可です。


▼よろずや さん:
>フォームの方のボタンを使えば、シートモジュールにマクロを書く必要はありません。

【14211】Re:変数の宣言を強制する
回答  よろずや  - 04/5/23(日) 20:30 -

引用なし
パスワード
   ▼WAKO さん:
>▼よろずや さん:
>フォームは、ユーザーの希望で
>使用不可です。

ユーザーフォームのことではありません。
シートに貼り付けるボタンに2種類あるのです。

【14217】Re:変数の宣言を強制する
質問  WAKO  - 04/5/23(日) 23:05 -

引用なし
パスワード
   ▼よろずや さん:
すいません、どのように使用
するのでしょうか。
コマンドボタン以外ですよね。


▼よろずや さん:
>▼WAKO さん:
>>▼よろずや さん:
>>フォームは、ユーザーの希望で
>>使用不可です。
>
>ユーザーフォームのことではありません。
>シートに貼り付けるボタンに2種類あるのです。

【14231】Re:変数の宣言を強制する
回答  IROC  - 04/5/24(月) 10:42 -

引用なし
パスワード
   ツールバーの フォーム にある ボタン のことでしょう。  

【14249】Re:変数の宣言を強制する
発言  Jaka  - 04/5/24(月) 15:04 -

引用なし
パスワード
   移り橋みたいに次から次へと、理解する?試してみる前に次の質問をしているようですが...。
また、シカトっぷりに、はらはらする時があります。

Sub munmun()
  入たいコード = "sub bubu()" & vbCrLf & _
         "gggg = 555" & vbCrLf & _
         "msgbox gggg" & vbCrLf & _
         "end sub "
  With ActiveWorkbook.VBProject.VBComponents("Sheet2").CodeModule
    .InsertLines 1, "Public damiy AS String"
    .Deletelines 1, .Countoflines
    .InsertLines 1, 入たいコード
  End With
  DoEvents
  End
End Sub

【14262】Re:変数の宣言を強制する
発言  よろずや  - 04/5/24(月) 22:28 -

引用なし
パスワード
   ▼Jaka さん:
>移り橋みたいに次から次へと、理解する?試してみる前に次の質問をしているようですが...。
>また、シカトっぷりに、はらはらする時があります。

Jaka さんにとってはご不満でしょうが、
WAKO さんはシカトなんてしてませんよ。

割り込んだのは私です。
WAKOさんとJakaさんの間の会話では、【14162】でキチンと応答してます。

私が割り込んだのは、マクロでマクロを書くというのは、
Jakaさんにとっては当たり前の処理なんでしょうけど、
初心者にはお勧めしないからです。

それに、マクロでマクロを書くのは、ウィルスにも通じるテクニック
ですので、あまり流行らせたくないという気持ちもあります。

マクロでマクロを書かなきゃならない場合ももちろんあるでしょうが、
初心者がそれをやっている場合、往々にしてその必要が無いのに
やっている場合が多いのです。

WAKOさんのやろうとしてることが何なのか、マクロでマクロを書く
必要があるのか、これから解明していけば分かると思っています。

【14278】Re:変数の宣言を強制する
質問  POP  - 04/5/25(火) 13:01 -

引用なし
パスワード
   横から失礼します。
マクロでマクロを書かなければいけないというのは一般にはどのようなときに
生じるのでしょうか?

【14279】Re:変数の宣言を強制する
回答  よろずや  - 04/5/25(火) 13:16 -

引用なし
パスワード
   >マクロでマクロを書かなければいけないというのは一般にはどのようなときに
>生じるのでしょうか?
一般的には、必要ありません。
必要なのは、特殊な場合です。
例えば、マクロ付きブックを配布運用後に修正するような場合。
普通はこれを避けるために、データブックとマクロブックを分離します。

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