ユーザフォームにToggleButton(TB)とComboBox(CB)があり、TB.value = Trueの場合、正しいファイルを挿入するCB.valueを特定する必要があります。if/then内のケースを選択
私はTB.valueに対処するためにif/thenステートメントを使用しています(私はこれをuserformの他のトグルに使用していますが、それはそれ自体で有効でした)CB.valueに対処するために、 Select Caseステートメントを使用します。
を私はのif/then文の中で、Select Caseステートメントでスクリプトを実行すると、私はファイルを挿入するようになっていない。ここで
を含め、私のコードの例です。どのように私はCBを初期化するために記載している:Private Sub CommandButton1_Click()
CreateObject (Word.Application.Documents.Add)
If ToggleButton1.Value = True Then
Select Case File
Case ComboBox1.Value = "File A"
Selection.InsertFile FileName:="C:\File A"
Case ComboBox1.Value = "File B"
Selection.InsertFile FileName:="C:\File B"
End Select
Else:
ToggleButton1.Value = False
End If
Unload Me
End Sub
Private Sub Userform_Initialize()
With ComboBox1
.AddItem "File A", 0
.AddItem "File B", 1
End With
End Sub
誰かが私が上記の方法を使ってファイルを挿入できない理由を理解するのを助けることができたら、それは認められるだろう。これを行うより良い方法があれば、私もそれを聞きたいです!
ありがとうございます。
あなたのインデントが混乱する可能性があります。 [Rubberduck](https://github.com/rubberduck-vba/Rubberduck/releases)の圧子が役に立つかもしれません。 'Else'の後のコロンも避けてください。コロンが命令を区切るので、行ラベルのように見えます。最後に 'If {boolean-expression} = True Then Then'も冗長で、' If {boolean-expression} Then'に単純化することができます。 –
冗長に関する情報をありがとう。私はまだこれを学んでいるので、それは非常に有用です!私はまた、圧子を見ます。私はそれが私の実際のコード(私は、定義の場合は、サブの前に4スペースを挿入しなければならなかった)とどこにあるから少し上から上にそれを持っている。私はインデントなしで新しいステップを開始しようとし、下に落ち込んで起こっていることはインデントされています。 – Cyril
次回はコードブロック全体のために4つの空白を試してください* ;-) –