LoginSignup
3
2

More than 5 years have passed since last update.

AutoItでExcelを読み込む

Posted at

概要

AutoItを使ってExcelを開いてセルの値をとってくる方法

Excelから値を読み込む

シンプルに1つセルを読み込む場合、下記のようになります。

sample1.au3
#include <Excel.au3>

; Excelを起動します
$oExcel = _Excel_Open()

; Excelで開くファイルを指定します(下記ではデスクトップ上のtest.xlsxを開く想定)
$oWorkbook = _Excel_BookOpen($oExcel, "C:\Users\username\Desktop\test.xlsx") 

; A1セルを読み取る
$value = _Excel_RangeRead($oWorkbook, Default, "A1")

Excelで指定したシートから値を読み込む

前述のサンプルに加え、シートの切り替えを加えます。

sample2.au3
#include <Excel.au3>

; Excelを起動します
$oExcel = _Excel_Open()

; Excelで開くファイルを指定します(下記ではデスクトップ上のtest.xlsxを開く想定)
$oWorkbook = _Excel_BookOpen($oExcel, "C:\Users\username\Desktop\test.xlsx") 

; --- 追加部分。シートの選択を行っている ---
$configSheetName = "Sheet2"
$oExcel.Sheets ($configSheetName).Select
;--- ---

; A1セルを読み取る
$value = _Excel_RangeRead($oWorkbook, Default, "A1")

Excelがうまく開けなかった場合、エラーのポップアップを表示する

ファイルパスの指定がうまくいかなかった場合などにエラーのポップアップを表示させる場合のサンプル

sample3.au3
#include <Excel.au3>
#include <MsgBoxConstants.au3> ; --- 追加1 ポップアップのinclude --- 

; Excelを起動します
$oExcel = _Excel_Open()

; --- 追加2 Excelが開けなかった場合、開けなかった旨をポップアップで表示し終了します ---
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "エラー", "Excelが起動できませんでした。")
; --- --- 

; Excelで開くファイルを指定します(下記ではデスクトップ上のtest.xlsxを開く想定)
$oWorkbook = _Excel_BookOpen($oExcel, "C:\Users\username\Desktop\test.xlsx") 

; --- 追加3 指定したファイルが開けなかったらその旨をポップアップで表示しExcelをクローズ、終了します ---
If @error Then
   MsgBox($MB_SYSTEMMODAL, "エラー", "指定したファイルが開けませんでした。ファイルパスを確認してください")
   _Excel_Close($oExcel)
   Exit
EndIf
; --- ---

; A1セルを読み取る
$value = _Excel_RangeRead($oWorkbook, Default, "A1")

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2