VB.NET 【活用編】



目次


Excel操作

Excelに文字列を入力する処理について解説します。

プログラムソース

Imports System.IO

Module Module1
Sub Main()

   Dim objXLS = CreateObject("Excel.Application")
   Dim objBook = objXLS.WorkBooks.Add

   Dim Cd = Directory.GetCurrentDirectory()
   Dim strFileName = Cd & "\Excel操作.xlsx"
   objBook.SaveAs(strFileName)

   objBook = objXLS.Workbooks.Open(strFileName)

   objBook.Worksheets(1).Cells(1,1).Value = "VB.NET"

   objBook.Save : objBook.Close : objBook = Nothing
   objXLS.Quit : objXLS = Nothing

End Sub
End Module

解説

Excel.Application

Excel操作に使用するオブジェクト

オブジェクト.WorkBooks.Add

Excelブックを新規作成します。

オブジェクト.SaveAs(ファイル名)

Excelブックに名前を付けて保存します。

オブジェクト.WorkBooks.Open(ファイル名)

ファイル名を指定してExcelブックを開きます。

オブジェクト.Worksheets(インデックス).Cells(行,列)

左から1番目のシートのA1セルを指定します。

オブジェクト.Save

Excelブックを上書き保存します。

オブジェクト.Close

Excelブックを閉じます。

オブジェクト.Quit

Excelを終了します。


Excel PDF変換

ExcelをPDF形式で出力する処理について解説します。

プログラムソース

Imports System.IO

Module Module1
Sub Main()

   Dim objXLS = CreateObject("Excel.Application")

   Dim Cd = Directory.GetCurrentDirectory()
   Dim strFileName = Cd & "\Excel操作.xlsx"
   Dim objBook = objXLS.Workbooks.Open(strFileName)

   Dim strPDFName = Cd & "\Excel操作.pdf"
   objBook.ExportAsFixedFormat(0,strPDFName)

   objBook.Close : objBook = Nothing
   objXLS.Quit : objXLS = Nothing

End Sub
End Module

解説

オブジェクト.ExportAsFixedFormat(出力形式,ファイル名)
出力形式
 0 : PDF形式
 1 : XPS形式

ExcelブックをPDF形式/XPS形式で出力します。


メール送信

メールを送信する処理について解説します。

プログラムソース

Module Module1
Sub Main()
   Dim objMsg = CreateObject("CDO.Message")
   objMsg.From = 差出人アドレス
   objMsg.To = 宛先アドレス
   objMsg.Subject = "タイトル"
   objMsg.TextBody = "メッセージ"
   Dim strConf="http://schemas.microsoft.com/cdo/configuration/"
   With objMsg.Configuration.Fields
      .Item(strConf & "sendusing") = 2
      .Item(strConf & "smtpserver") = "smtp.gmail.com"
      .Item(strConf & "smtpserverport") = 465
      .Item(strConf & "smtpauthenticate") = 1
      .Item(strConf & "smtpusessl") = true
      .Item(strConf & "sendusername") = アカウント
      .Item(strConf & "sendpassword") = パスワード
      .Update
   End With
   objMsg.Send
   objMsg = Nothing
End Sub
End Module

解説

CDO.Message

メール送信に使用するオブジェクト

オブジェクト.Send

メールを送信します。


Webデータ収集

InternetExplorerを利用して、Webサイトのデータを収集する処理について解説します。

プログラムソース

Module Module1
Sub Main()

   Dim objIE = CreateObject("InternetExplorer.Application")
   objIE.Visible = False

   objIE.Navigate("https://www.google.co.jp")
   System.Threading.Thread.Sleep(500)

   objIE.Document.getElementsByTagName("input")(3).Value="VB.NET"
   objIE.Document.getElementsByTagName("input")(4).Click
   System.Threading.Thread.Sleep(500)

   Dim colResult = objIE.Document.getElementsByTagName("h3")

   For i = 0 to colResult.length -1
      Console.WriteLine(colResult(i).textContent)
   Next
   Console.ReadKey()

   colResult = Nothing
   objIE.Quit : objIE = Nothing

End Sub
End Module

解説

InternetExplorer.Application

IE操作に使用するオブジェクト

オブジェクト.Visible

IEを非表示にします。

オブジェクト.Navigate(URL)

指定したURLをIEに表示します。

オブジェクト.Document.getElementsByTagName(タグ名)

指定したタグ名の要素を取得します。