2016-12-05 14 views
0

私はInputBoxを使って1-3の間の入力を要求するコードを用意しています。このコードは、与えられた入力に応じてコードを実行します。私が持っている問題は、私がそれを必要としないということです。InputBoxは、私がしようとしている作業が3つしかないので、入力ボックスを削除して3を挿入しましたが、コードは何もしませんでした。私はその後、ボックスにデフォルト値を挿入しようとしましたが、それはまだ表示され、私は避けようとしている入力をクリックする必要があります。どのように私はこの問題について行く必要があります。あなただけ使うことができるようにvbaの入力ボックスをキャンセルするか非表示にする

マイコード

Function GetTypeFile() As Integer 

    Dim strInput As String, strMsg As String 
    Dim Default 

    choice = 0 
    While (choice < 1 Or choice > 3) 
     Default = "3" 

     strMsg = "Type in the kind of entities to create (1 for points, 2 for points and splines, 3 for points, splines and loft):" 
     strInput = InputBox(Prompt:=strMsg, _ 
        Title:="User Info", Default:=3, XPos:=2000, YPos:=2000) 

     'Validation of the choice 
     choice = CInt(strInput) 
     If (choice < 1 Or choice > 3) Then 
      MsgBox "Invalid value: must be 1, 2 or 3" 
     End If 
    Wend 
    GetTypeFile = choice 

End Function 
+0

'InputBox'の代わりに何を持ちたいのですが、もしあなたがいつも' 3'を置いたら、何がポイントですか? 'GetTypeFile'は常に' 3'になります。 –

+0

それは問題です。私が 'InputBox'を取り除こうとすると、コードは何もしません。と私は 'GetTypeFile'に値を直接割り当てしようとしたときに、それはまだ動作しません.. –

+0

何このコードをしようとしているのですか?どのように1から3の入力を入力したいですか? –

答えて

1

あなたの関数は、それを呼び出してどこに値を返します。

Function GetTypeFile() As Integer 
    GetTypeFile = 3 
End Function 

か、単に数を持つ関数への呼び出しを交換し3

そうではなく、のようなもの:あなたが持っていると思います

Sub Test() 
    ThisWorkbook.SaveAs "MyFileName", GetTypeFile 
End Sub 

Sub Test() 
    ThisWorkbook.SaveAs "MyFileName", 3 
End 
+0

を入力しなくても、CATIA VBAのコードを直接実行してみてください。返信いただきありがとうございます。私はあなたが言ったことを試みたが、私はそれを実行しようとすると、それは何もしません。この手順ではCATIAでCATfileを開くことになっています。また、Excelファイルを開いてExcelのファイルを実行したり、入力ボックスに入力したりせずに、CATIA VBAのコードを直接実行してみてください。 –

0

は、お返事ありがとうございました。私はちょうど、inputboxの値に依存する変数をTypeDocument=GetTypeFileの代わりに3に設定することで、何をすべきか理解しました。それは今ではTypeDocument=3です。私はあなたがすべてのことをいつも言おうとしていたと思います。ありがとうございました。

関連する問題