VB
Visual Basic 関連のTipsです
もしかしたら前にも書いたかもしれない。
Visual Basic Developer Center: Upgrading Visual Basic 6.0 Applications to Visual Basic .NET and Visual Basic 2005
http://msdn.microsoft.com/vbasic/default.aspx?pull=/library/en-us/dnpag2/html/VB6ToVBNetUpgrade.asp (英語)
VB6アプリからVB.NET/VB2005
VB6とか、VBAで、こんな変数宣言をよく目にします。
Dim i, j, k As Double
きっと、ループ変数にでも使いたいのでしょう。(ループ変数でDouble宣言とはこれまた微妙ですが)しかし、ここで罠です。
実は、上記の場合、変数 k しかDouble型になりません。他はVariant型です。変数に値を入れると、値に該当した型になります。該当する変数を、VarType 関数で調べてみるとわかります。
ちなみに、VB.NETの場合は、上記のコードの場合、すべてDouble(System.Double)型になります。
VB.NETでは、2通りの方法でDLLが呼び出せます。ここでは、例として7-zip32.DLLの圧縮解凍を行うSevenZip関数を呼び出す方法をサンプルとして、書きます。
VB6形式Private Declare Function SevenZip Lib "7-zip32" (ByVal hWnd As Long, ByVal szCmdLine As String, ByVal szOutput As String, ByVal dwSize As Long)
VB.NET形式最初に、Imports
社内で結構質問されたので(^^;
SQL文にコントロールのプロパティとかをそのまま連結させると、どえらいことになりますよ。
要は、レコード一つだけ抽出するクエリで、SQL = "SELECT [氏名] FROM HogeHoge WHERE ID= '" & TextBox1.Text & "'"
ってなことやっちゃうと、どうなるかわかりますよね?TextBox1.Textが、「100」などという想定内の入力だったらいいんですけども、もし、”100' OR 10='10”
Twipとinchとcmはどういう関係にあるのか。
1インチは、1440Twip
1インチは、2.54cm
1cmは、約566Twip?
1440Twip = 2.54cm
あれ?
やっべ。わかんね。頭混乱してきた。
VB6には、Dirという、指定されたファイルがあるかどうかを確認できる関数があります。
Dim FileName As String FileName = "C:\autoexec.bat" If Dir(FileName) = FileName
Access VBAにて、APIを呼び出す時に使う、ウィンドウハンドル。
これは、以下の構文で読み出せます。
hWndAccessApp
…単純なんだけど、これがなかなか見つからなかったり、忘れてたりで苦労するんですよ。
ファイルを選択するおなじみの画面を出すには、OpenFileDialog を使います。
Dim ofd As New OpenFileDialog ofd.ShowDialog() MsgBox(ofd.FileName)
OpenFileDialogには、いくつかプロパティが存在します。主なものだけを、ピックアップ。