2
基本的に私はフォームを持つスプレッドシートを持っています。そのフォームには、シート上のセルからあらかじめ入力できるファイルパスを含むテキストボックスがあります。しかし、ユーザーは別のファイルをブラウズすることができます。彼らが閲覧しているときに、彼らは "開く"または "キャンセル"のオプションを持っています。開いているボタンはうまく動作し、テキストボックスに値を入力しますが、キャンセルボタンを選択した場合は、テキストボックスが既に入力されている場合はクリアされます。クリアするテキストボックスを停止するにはどうすればよいですか?VBA Excelファイルを選択 - キャンセルをクリックすると、テキストボックスがクリアされます
私はそれが起こっているのコードのこのブロックにそれを絞られている:
Function GetFileName()
Set MyFile = Application.FileDialog(msoFileDialogOpen)
With MyFile
.Title = "Choose File"
.AllowMultiSelect = False
If .Show <> -1 Then
Exit Function
End If
GetFileName = .SelectedItems(1)
End With
End Function
を投入する前に値を持っていることを確認作る 'TextBox1'、あなたはTextBox1_Change()'し、それに応じて、プロセス、それは 'このためにチェックすることができ? – jsheeran
あなたはそれをあまりにも絞り込んだ。表示されたコードは、テキストボックスに値を設定したりクリアしたりしません。ファイルダイアログを呼び出し、選択したファイルで何もしません。選択されたファイルがあるかどうかにかかわらず、何かを返さずに単に終了します。 –
@AxelRichter私はGetFileName = .SelectedItems(1)を最後に最後には逃しました。 GetFileNameが私のテキストボックスに入力されていた ""に設定されていたことが間違っていたところを知っています。私は今、テキストボックスに値を入力する前にそれをテストします。けれども、お返事ありがとう! – Cornflake2068