パラメータ 比較するは次の値を取ることができます。
Private Sub Form_Load() Dim arrMyArray() As String Dim strMyString As String strMyString = "こんにちは! お元気ですか?"
arrMyArray = Split(strMyString) "「Hello!」を返します Debug.Print arrMyArray(0) End Sub以下も参照してください。配列、
みなさん、こんにちは。この記事では、小さなプログラムに役立つコードを紹介したいと思います。 これを使用して、独自のより本格的なプログラムを作成することも、ここで説明されているまさにこれらの関数を探していることもできます。
確認して終了
1 つ目の種類のプログラムまたは関数は、終了を確認するメッセージを伴う終了です。 一般に、Visual Basic プログラミング環境を開き、標準プロジェクトを作成し、フォーム上にボタンを 1 つ配置し、ボタンをクリックするとコード編集ウィンドウが開きます。そこに次のコードを挿入する必要があります。" buttonasicons = vbYesNo + vbQuestion response = MsgBox(message, buttonasicons, title) If response = vbYes Then End End If !}
title = "終了<>プログラムを起動するためのパスワード
Dim パスワード、パスワード PassWord = "12345" Pword = InputBox("パスワードを入力してください") If Pword
ここで、12345 はプログラムを起動するためのパスワードです。 ただし、このコードはどこでも使用できます。
ビープ音 文字列としての薄暗いメッセージ 文字列としての薄暗いボタンサンディコン 整数としての薄暗いタイトル 文字列としての薄暗いタイトル message = "メッセージ" title = "Message" buttonasicons = vbOKOnly + vbexciamation MsgBox message, buttonsandicons, title !}
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Form1.CurrentX = X Form1.CurrentY = Y End Sub Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 1 then Line (Form1.CurrentX, Form1.CurrentY)-(X, Y), QBColor(0) End If End Sub
QBColor(0) パラメータを使用して色を変更できます。 0 の代わりに別の数字を入力します。
コンピュータを再起動するには、ボタンを配置して次のコードを貼り付けます。
Dim strComputer As String strComputer = "."単一コピーでプログラムを起動する
次の例は、プログラムを 1 回だけ実行するのに役立ちます。 再起動すると、対応するメッセージが表示されます。 フォームコードに以下を挿入します。
終了 終了の場合
コンピューターの電源を切る
Dim strComputer As String strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "(impersonationLevel=impersonate,(Shutdown))!\\" _ & strComputer & "\root\cimv2") Set ColOperatingSystems = objWMIService.ExecQuery("Select * from Win32_OperatingSystem") For各 ObjOperatingSystem incolOperatingSystems ObjOperatingSystem.ShutDown "シャットダウンするには次へ
プロセスを終了する
シェル「Cmd /x/c taskkill /f /im ICQlite.exe」、vbvhite ICQlite.exe の代わりに任意のプロセスを使用できます。コンピューターの寿命はどれくらいですか?
プライベート宣言関数 GetTickCount Lib "kernel32" () As Long "そしてボタン コード内: Dim a_hour, a_nutrition, a_second a = Format(GetTickCount() / 1000, "0") "total minutes a_days = Int(a / 86400) a = a - a_days * 86400 a_hour = Int(a / 3600) a = a - a_hour * 3600 a_minut = Int(a / 60) a_ Second = a - a_min * 60 MsgBox "コンピュータは実行されています " & Str(a_days) & 「日」 & Str(a_hour) _ & 「時間」 & Str(a_分) & 「分」 & Str(a_秒) & 「秒」
レビューしました 単純な関数、ほぼどこでも使用できます。 次に、より深刻な例を見てみましょう。これらは大規模なプロジェクトを作成するのに非常に役立ちます。
フォームに 2 つのテキスト フィールドとボタンを追加します。最初のテキスト フィールドの名前は StartText、2 番目のテキスト フィールドの名前は OutText です。 複数行プロパティ = true、ボタン名 = CmdStart
静的実行 As Boolean Dim AllDirs As New Collection Dim next_dir As Integer Dim dir_name As String Dim sub_dir As String Dim i As Integer Dim txt As String 実行中の場合は実行中 = False CmdStart.Enabled = False CmdStart.Caption = "停止中" それ以外の場合は実行中 = True MousePointer = vbHourglass CmdStart.Caption = "Stop" OutText.Text = "" DoEvents next_dir = 1 AllDirs.Add StartText.Text Do While next_dir<= AllDirs.Count dir_name = AllDirs(next_dir) next_dir = next_dir + 1 sub_dir = Dir$(dir_name & "\*", vbDirectory) Do While sub_dir <>"" UCase$(sub_dir) の場合<>「PAGEFILE.SYS」とサブディレクトリ<>「。」 そしてsub_dir<>".." then sub_dir = dir_name & "\" & sub_dir エラーが発生したら再開 Next If GetAttr(sub_dir) And vbDirectory then AllDirs.Add sub_dir End If sub_dir = Dir$(, vbDirectory) Loop DoEvents If Not running then Exit Do Loop txt = "" For i = 1 To AllDirs.Count txt = txt & AllDirs(i) & vbCrLf Next i OutText.Text = txt MousePointer = vbDefault unning = False End If
次に、プログラムを起動し、StartText テキスト フィールドに「C:\windows」と入力し、ボタンをクリックします。
C:\1\ フォルダーに 1.txt という名前のファイルがあり、これを C:\2\ にコピーする必要があるとします。これを行うには、次のコードを記述します。
ファイルコピー "C:\1\1.txt","C:\2\1.txt"
注記! ディレクトリ 2 に 1.txt という名前のファイルがすでに含まれている場合、そのファイルはディレクトリ 1 の 1.txt に置き換えられます。
プライベート宣言関数 CopyFile Lib _ "kernel32.dll" Alias "CopyFileA" _ (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long Private Sub Command1_Click() " ファイル C:\1.txt をコピーDim retval As Long " 戻り値 "ファイルをコピーします。 retval = CopyFile("C:\1.txt", "D:\1.txt", 1) If retval = 0 then "If error MsgBox "コピーできません" Else "問題なければ MsgBox "ファイルがコピーされました。" End If End Sub
たとえば、C:\ ドライブのルートからファイル 1.txt を削除したいとします。
Kill("C:\1.txt")
APIメソッド
Private Declare Function DeleteFile Lib _ "kernel32.dll" Alias "DeleteFileA" (ByVal lpFileName As String) As Long Private Sub Command1_Click() "ファイルの削除 C:\Samples\anyfile.txt Dim retval As Long "戻り値 retval = DeleteFile( "C:\1.txt") If retval = 1 then MsgBox "ファイルは正常に削除されました。"
移動
たとえば、次のように移動できます。
ファイルコピー "C:\1.txt","C:\2\1.txt" Kill ("C:\1.txt")
ただし、次のようにした方が良いです (API 経由)。
名前の変更
C:\ にあるファイル 1.txt の名前を 2.txt に変更するには、次のコードを使用します。
APIメソッド
ファイルコピー "C:\1.txt","C:\2.txt" Kill ("C:\1.txt")
ファイルサイズを決定する
ファイル サイズは次の 2 つの方法で決定できます。
OPEN 関数でファイルを開くことができる場合は、LOF 関数を使用できます。
Dim FileFree As Integer Dim FileSize As Long FileFree = FreeFile 入力用に「C:\WIN\GENERAL.TXT」を FileFree として開く FileSize = LOF(FileFree) FileFree を閉じる
または FileLen 関数を使用します
プログラムで時計を非表示にする
オプション 明示的なプライベート宣言関数 FindWindow Lib _ "user32" エイリアス "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long プライベート宣言関数 FindWindowEx Lib _ "user32" エイリアス "FindWindowExA" _ (ByVal hWnd1 As Long、ByVal hWnd2 As Long、ByVal lpsz1 As String、ByVal lpsz2 As String) As Long Private Declare Function ShowWindow Lib _ "user32" (ByVal hwnd As Long、ByVal nCmdShow As Long) As Long Dim hnd As Long Private Sub Command1_Click() ShowWindow hnd, 0 End Sub Private Sub Command2_Click() ShowWindow hnd, 1 End Sub Private Sub Form_Load() hnd = FindWindow("Shell_TrayWnd", vbNullString) hnd = FindWindowEx(hnd, 0, "TrayNotifyWnd", vbNullString) hnd = FindWindowEx( hnd, 0, "TrayClockWClass", vbNullString) Command1.Caption = "時計を隠す" Command2.Caption = "時計を表示" End Sub
モジュールを追加し、コードをそこに貼り付けます。
関数 Shell_NotifyIconA Lib _ "SHELL32" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Integer を宣言 Public Const NIM_ADD = 0 Public Const NIM_MODIFY = 1 Public Const NIM_DELETE = 2 Public Const NIF_MESSAGE = 1 Public Const NIF_ICON = 2 Public Const NIF_TIP = 4 Type NOTIFYICONDATA cbSize As Long hWnd As Long uID As Long uFlags As Long uCallbackMessage As Long hIcon As Long szTip As String * 64 End Type Public Function SetTrayIcon(Mode As Long, hWnd As Long, Icon As Long,tip As String) As Long Dim NOTIFYICONDATA としての nidTemp nidTemp.cbSize = Len(nidTemp) nidTemp.hWnd = hWnd nidTemp.uID = 0& nidTemp.uFlags = NIF_ICON または NIF_TIP nidTemp.uCallbackMessage = 0& nidTemp.hIcon = アイコン nidTemp.szTip = ヒント & Chr$( 0) SetTrayIcon = Shell_NotifyIconA(Mode, nidTemp) 関数終了
使用するには、フォームコードに次のコードを挿入します。
Private Sub Form_Load() SetTrayIcon NIM_ADD, Me.hWnd, Me.Icon, "Test" End Sub "Private Sub を削除するには Command1_Click() SetTrayIcon NIM_DELETE, Me.hWnd, 0&, "" End Sub
プライベート宣言関数 FindWindow Lib "user32" Alias "FindWindowA" _ (ByVal lpClassName As String, ByVal lpWindowName As String) As Long プライベート宣言関数 FindWindowEx Lib "user32" Alias "FindWindowExA" _ (ByVal hWnd1 As Long, ByVal hWnd2 As Long、ByVal lpsz1 As String、ByVal lpsz2 As String) As Long Private Declare Function EnableWindow Lib "user32" _ (ByVal hwnd As Long、ByVal fEnable As Long) As Long Public Sub EnableStartButton(Boolean = True としてオプションで有効) Dim lHwnd As Long " find hWnd lHwnd& = FindWindowEx(FindWindow("Shell_TrayWnd", ""), 0&, "Button", vbNullString) Call EnableWindow(lHwnd&, CLng(Enabled)) End Sub Private Sub Command1_Click() EnableStartButton False "スタートボタン無効になっています End Sub Private Sub Command2_Click() EnableStartButton True "START ボタンは無効になっていません End Sub
プログラムは FTP に接続し、ini ファイルにはサーバー、ログイン、ポート、パスワードのパラメータが含まれています。
まず、INI ファイルを作成します。
Servname=サーバー usern=ログインパスワード=パスワード port=ポート
プログラムフォルダーに配置する必要があります。 次に、モジュールに以下を挿入します。
プライベート宣言関数 WritePrivateProfileString Lib _ "kernel32" エイリアス "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, _ ByVal lpString As String, ByVal lpFileName As String) As Long プライベート宣言関数 GetPrivateProfileString Lib _ "kernel32" エイリアス"GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, _ ByVal lpDefault As String, ByVal lpReturnedString As String, _ ByVal nSize As Long, ByVal lpFileName As String) As Long Public Function ReadIni(Razdel As String, Param) As String ReadIni = GetValue (Razdel, Param, App.Path & "\test.ini", "0") End Function Private Function GetValue(ByVal Section As String, _ ByVal Key As String, ByVal fFileName As String, Optional ByVal DefaultValue As String = vbNullString) As String Dim Data As String Data = String$(1000, Chr$(0)) If GetPrivateProfileString(Section, Key, DefaultValue, Data, 1000, fFileName) > 0 then GetValue = Left$(Data, InStr (Data$, Chr $(0)) - 1) Else GetValue = DefaultValue End If Exit Function End Function
次に、フォームのコードに貼り付けます。
プライベート宣言関数 InternetOpen Lib _ "wininet.dll" エイリアス "InternetOpenA" (ByVal sAgent As String、ByVal nAccessType As Long、ByVal sProxyName As String、_ ByVal sProxyBypass As String、ByVal nFlags As Long) As Long プライベート宣言関数 InternetConnect Lib _ "wininet.dll" エイリアス "InternetConnectA" (ByVal hInternetSession As Long、ByVal sServerName As String、_ ByVal nServerPort As Integer、ByVal sUserName As String、ByVal sPassword As Long、ByVal nService As Long、_ ByVal dwFlags As Long 、ByVal dwContext As Long) As Long プライベート宣言関数 FtpPutFile Lib _ "wininet.dll" エイリアス "FtpPutFileA" (ByVal hFtpSession As Long、ByVal lpszLocalFile As String、_ ByVal lpszRemoteFile As String、ByVal dwFlags As Long、ByVal dwContext As Long) As Boolean Private Declare Function FtpGetFile Lib _ "wininet.dll" Alias "FtpGetFileA" (ByVal hFtpSession As Long、ByVal lpszRemoteFile As String、_ ByVal lpszNewFile As String、ByVal fFailIfExists As Boolean、ByVal dwFlagsAndAttributes As Long、_ ByVal dwFlags As Long、ByVal d wContext As Long ) As Boolean Private Declare Function InternetCloseHandle Lib _ "wininet.dll" (ByVal hInet As Long) As Integer Dim rc& Dim rs&
そしてボタンのコードでは次のようになります。
rc& = InternetOpen("", 0, vbNullString, vbNullString, 0) rs& = InternetConnect(rc&, ReadIni("General", "servname"), "0", _ ReadIni("General", "usern"), ReadIni( "General", "pwd"), 1, 0, 0) If FtpGetFile(rs&, "Your file.txt", "path where", False, 0, 1, 0) = False then 呼び出しを終了 InternetCloseHandle(rs&) 呼び出しインターネットクローズハンドル(rc&)リストボックスと 1 つのボタンを追加し、次のコードを挿入します。
オプション 明示的なプライベート宣言関数 CreateToolhelpSnapshot Lib _ "Kernel32" エイリアス "CreateToolhelp32Snapshot" _ (ByVal lFlags As Long、ByVal lProcessID As Long) As Long プライベート宣言関数 ProcessFirst Lib _ "Kernel32" エイリアス "Process32First" _ (ByVal hSnapShot As Long、uProcess As PROCESSENTRY32) As Long Private Declare Function ProcessNext Lib _ "Kernel32" Alias "Process32Next" _ (ByVal hSnapShot As Long、uProcess As PROCESSENTRY32) As Long Private Declare Sub CloseHandle Lib "Kernel32" (ByVal hPass As Long ) プライベート Const TH32CS_SNAPPROCESS As Long = 2& Private Const MAX_PATH As Integer = 260 プライベート タイプ PROCESSENTRY32 dwSize As Long cntUsage As Long th32ProcessID As Long th32DefaultHeapID As Long th32ModuleID As Long cntThreads As Long th32ParentProcessID As Long pcPriClassBase As Long szExeFile As String * MAX_PATH と同じ長さの遅延End Type Di m hSnapShot As Long Dim uProcess As PROCESSENTRY32 Dim r As Long Private Sub Command1_Click() List1.Clear hSnapShot = CreateToolhelpSnapshot(TH32CS_SNAPPROCESS, 0&) If hSnapShot = 0 then Exit Sub End If uProcess.dwSize = Len(uProcess) r = ProcessFirst(hSnapShot, uProcess) Do While r List1.AddItem uProcess.szExeFile r = ProcessNext(hSnapShot, uProcess) ループ呼び出し CloseHandle(hSnapShot) End Sub
他のプログラムと同様に、プログラムを Windows で読み込むには、レジストリを使用できます。
2 つのボタンと次のコードを追加します。
Private Sub Command1_Click() "レジストリ エントリ Set Reg = CreateObject("WScript.Shell") Reg.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\プログラムの名前", _ "プログラムへのパス" End Sub Private Sub Command2_Click() "レジストリから削除 Set Reg = CreateObject("WScript.Shell") Reg.RegDelete "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\プログラムの名前" End Sub
そして、プログラムが Windows と一緒に読み込まれるようにするために、 セーフモード、次にこのコード:
まず、より本格的な方法 (念のため実行してください) バックアップコピーレジストリ)。
Private Sub Command1_Click() Set Reg = CreateObject("WScript.Shell") Reg.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\Shell", _ "プログラムへのパス" End Sub Private Sub Command2_Click()"これはリカバリ用です Set Reg = CreateObject("WScript.Shell") Reg.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\Shell", _ "Explorer.exe," End Sub
まあ、簡単な方法です。
Private Sub Command1_Click() Set Reg = CreateObject("WScript.Shell") Reg.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\Userinit", _ "C:\\WINDOWS\\system32\\userinit.exe ,プログラムへのパス" End Sub Private Sub Command2_Click()"復元するには Set Reg = CreateObject("WScript.Shell") Reg.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\Userinit", _ "C : \\WINDOWS\\system32\\userinit.exe," End Sub
2 つのボタンを追加し、コードを貼り付けます。
プライベート宣言関数 SetWindowPos Lib "user32" (ByVal hwnd As Long、_ ByVal hWndInsertAfter As Long、ByVal x As Long、ByVal y As Long、_ ByVal cx As Long、ByVal cy As Long、ByVal wFlags As Long) As Long プライベート宣言Function FindWindow Lib "user32" Alias "FindWindowA" _ (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Const SWP_HIDEWINDOW = &H80 Const SWP_SHOWWINDOW = &H40 "Hide Private Sub Command1_Click() hwnd1 = FindWindow("Shell_traywnd", " ") Call SetWindowPos(hwnd1, 0, 0, 0, 0, 0, SWP_HIDEWINDOW) End Sub "Shows Private Sub Command2_Click() hwnd1 = FindWindow("Shell_traywnd", "") Call SetWindowPos(hwnd1, 0, 0, 0, 0、0、SWP_SHOWWINDOW) エンドサブ
RAR アーカイブを解凍するには、次のコードを使用できます。
WinRarApp = "C:\Program Files\WinRAR\WinRAR.exe x -o+" iPath = "C:\" iArhivName = "ファイル名.rar" adr = WinRarApp & " """ & iPath & iArhivName & """ " "" & iPath & """ " RetVal = Shell(adr, vbHide)
ボタンを 1 つ追加し、次のコードを貼り付けます。
Private Declare Sub GlobalMemoryStatus Lib "kernel32" (lpBuffer As TMemoryStatus) プライベート タイプ TMemoryStatus dwLength As Long dwMemoryLoad As Long dwTotalPhys As Long dwTotalPageFile As Long dwAvailPageFile As Long dwTotalVirtual As Long dwAvailVirtual As Long End Type Dim s As TMemoryStatus Private Sub Command1_Click( ) ms.dwLength = Len(ms) Call GlobalMemoryStatus(ms) MsgBox "Total:" & ms.dwTotalPhys & vbCr & "Free:" _ & ms.dwAvailPhys & vbCr & "used in %:" & ms.dwMemoryLoad End Sub
これは次のように行われます。 2 つのボタンを追加し、次のコードを貼り付けます。
プライベート宣言関数 ShowWindow& Lib "user32" (ByVal hwnd&, ByVal nCmdShow&) プライベート宣言関数 FindWindow Lib _ "user32" エイリアス "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Const SW_HIDE = 0 Const SW_NORMAL = 1 Private Sub Command1_Click() Dim hHandle As Long hHandle = FindWindow("progman", vbNullString) Call ShowWindow(hHandle, SW_HIDE) End Sub Private Sub Command2_Click() Dim hHandle As Long hHandle = FindWindow("progman", vbNullString) Call ShowWindow(hHandle, SW_HIDE) (hHandle , SW_NORMAL) End Sub
Command1 ボタンを使用するとアイコンが非表示になり、Command2 ボタンを使用するとアイコンが表示されます。
以上です。上記の例がお役に立てば幸いです、さようなら!
この章では、VB.NET の基本的な「武器」を紹介します。 材料のほとんどは次のとおりです。 簡単な概要すべてのプログラミング言語に共通する概念 (変数やループ命令など)、および基本的なデータ型 (主にさまざまな数値や文字列) の説明。 VB6 に精通している読者は、この章をざっと読んでもよいでしょう。
この章のほんの数例には、本格的な VB.NET プログラムで使用できる実際のコードが含まれています。 実際のところ、本格的な VB.NET プログラムは、クラスと呼ばれるテンプレートベースのオブジェクトなしでは実行できません。このトピックについては第 4 章で説明します。言語の基本的な構成から始めます。そうしないと、プリミティブに限定する必要があるからです。実用的な価値のないクラス。 この章では、ユーザー定義クラスについては説明せず、非常に強力な .NET Framework の組み込みクラスの使用方法の基本的な例のみを示します。
これから何が起こるでしょうか? 奇妙なことに、この章で書かれたプログラムは、初期の BASIC 時代、さらにはそれに先立つ Fortran や COBOL の時代の伝統的なプログラミングのスタイルに非常に似ています (いくつかの奇妙な、しかし必要な構文構造は別として)。 特に、後続の章のプログラムとは異なり、常に明確に定義された始まりと終わりがあり、制御は最初から最後まで転送されます (ただし、制御は特別なコマンドによって転送することもできます)。
はじめに述べたように、VB6 との人為的な互換性を可能な限り避けて、通常の .NET スタイルで書かれたプログラムを提示するように努めます。
すべての VB.NET アプリケーションにはエントリ ポイントが必要です。 エントリ ポイントには、起動時に自動的に実行されるコードが含まれており、その後、制御が残りのプログラム コードに移されます。 比較的単純なグラフィック アプリケーションでは、VB6 のように、エントリ ポイントが初期フォームに関連付けられている場合があります。 しかし、第 1 章で見たように、Windows フォームのコードは非常に複雑で、エントリ ポイントを見つけるのが難しい場合があります。 この章では、コンソール ウィンドウ (DOS セッション ウィンドウなど) で実行されるコンソール アプリケーションのみを説明します。 はい、VB.NET を使用すると、サーバー側のスクリプト プログラミングでよく使用される従来のコンソール アプリケーションを簡単に作成できます。
コンソール アプリケーションのエントリ ポイントはプロシージャです サブメインモジュール (プロシージャに類似) サブメイン VB6)。 コンソール アプリケーション アイコン ( コンソールアプリケーション)、VB.NET は、エントリ ポイント (プロシージャ) を持つ「スケルトン」アプリケーションを自動的に生成します。 サブメイン:
モジュール Module1 Sub Main() End Sub End モジュール
VB6 とは異なり、最初の行はモジュールの名前を指定します (コマンドは太字で表示されます)。 で この例ではデフォルト名 Modul el が使用されます。 規則に従って、モジュール名はファイル名と一致する必要があります。 最初の行のモジュール名を Module Test1 に変更したとします。 走ろうとすると コンソールアプリケーションエラーメッセージが表示されます:
「Test.Modulel」に起動コード「Sub Main」を指定しました。 「Test.Modulel」が見つかりませんでした
モジュールの作成後に名前を変更するには、次のようにします。
VB6 と同様に、VB.NET プログラム (ソリューション) は複数のモジュールで構成できますが、プロシージャの存在は必要ありません。 サブメイン 1 つのモジュールでのみ許可されます。 コマンドに到達するとアプリケーションが終了します エンドサブ手順 サブメイン。 たとえば、伝説的な「Hello world」プログラムは次のようになります。
Module Modul el Sub Main() Console.WriteLine("Hello world") End Sub エンドモジュール
このプログラムを IDE で実行すると、「Hello world」という文字が表示された DOS ウィンドウが画面上ですばやく点滅します (すぐに消えます)。 コマンドが処理されるとウィンドウが閉じます エンドサブ.
スプリット機能を使用する VBAエクセル、その構文とパラメータ。 Split 関数によって返される値。 使用例。
Split 関数は、特別な区切り記号を使用して文字列を部分文字列に分割するために VBA Excel で設計されています。 区切り文字には、単一の文字または複数の文字の文字列を使用できます。 Split 関数は、部分文字列の配列から 1 つの文字列を作成する関数の逆関数です。
分割 (式,,,)
Split 関数の必須パラメータは Expression です。他のパラメータが明示的に指定されていない場合は、デフォルト値が使用されます。
*バイナリ比較 (0 または CompareMethod.Binary) が使用される場合、関数は大文字と小文字を区別します。 テキスト比較 (1 または CompareMethod.Text) が使用される場合、関数は大文字と小文字を区別しません。
Split 関数は、指定されたパラメータを含む 0 からインデックス付けされた 1 次元配列を返します。 限界部分文字列の数。 ほとんどの場合、Split 関数はパラメーター値とともに使用されます。 限界ソース文字列内で見つかったすべての部分文字列が返される場合、デフォルトでは -1 に等しくなります。
最初の例では、 デリミタそして 限界デフォルトでは。
2番目の例では デリミタ= "-"、 限界 = 2.
Split 関数は、事前に宣言されたテキストを使用して結果を割り当てます。このテキストは、空の括弧の有無にかかわらず代入行で使用できます。 上記の例では、配列は括弧なしで指定されています。
指定された例のコードを Excel ワークブックの VBA モジュールにコピーし、それらがどのように機能するかを確認できます。 独自のデータを置き換えて実験して、分割機能の実際の感触を掴んでください。