下記のようなスクリプトでチェックボックスの状態を取得できました。チェックボックスの名前は、Excelでチェックボックスを右クリックして、「マクロを登録」の画面で確認できます。
' ====指定されたファイルを開く====================================================
' ファイルのパスをフルパスに変換する
Set fso = CreateObject("Scripting.FileSystemObject")
filePath = fso.GetAbsolutePathName(!ファイル名!)' workbookオブジェクトを取得する
Set workbook = Nothing
On Error Resume Next
' 既存のエクセルが起動されていれば警告を抑制する
Set existingXlsApp = Nothing
Set existingXlsApp = GetObject(, "Excel.Application")
existingXlsApp.DisplayAlerts = False' 一先ずWorkbookオブジェクトをGetObjectしてみる
Set workbook = GetObject(filePath)
Set xlsApp = workbook.Parent' GetObjectによって新規に開かれたWorkbookなら
' 変数にNothingを代入することで参照が0になるため
' 自動的に閉じられる。
Set workbook = Nothing' Workbookがまだ存在するか確認する
For Each book In xlsApp.Workbooks
If StrComp(book.FullName, filePath, 1) = 0 Then
' Workbookがまだ存在するので、このWorkbookは既に開かれていたもの
Set workbook = book
xlsApp.Visible = True
End If
Next' Workbookが存在しない場合は、新たに開く。
If workbook Is Nothing Then
Set xlsApp = Nothing' Excelが既に開かれていたならそれを再利用する
If Not existingXlsApp Is Nothing Then
Set xlsApp = existingXlsApp
xlsApp.Visible = True
Else
Set xlsApp = CreateObject("Excel.Application")
xlsApp.Visible = True
End IfSet workbook = xlsApp.Workbooks.Open(filePath)
End If' 警告の抑制を元に戻す
existingXlsApp.DisplayAlerts = True
Set existingXlsApp = Nothing
On Error Goto 0If workbook Is Nothing Then
Err.Raise 1, "", "指定されたファイルを開くことができません。"
End If' ====指定されたシートを取得する==================================================
sheetName = !シート名!
Set worksheet = Nothing
On Error Resume Next
' シート名が指定されていない場合は、アクティブシートを対象とする
If sheetName = "" Then
Set worksheet = workbook.ActiveSheet
Else
Set worksheet = workbook.Worksheets(sheetName)
End If
On Error Goto 0If worksheet Is Nothing Then
Err.Raise 1, "", "指定されたシートが見つかりません。"
End Ifworksheet.Activate
' ====指定されたチェックボックスを取得する==================================================
Set checkBox = worksheet.CheckBoxes(!チェックボックス!)
If checkBox Is Nothing Then
Err.Raise 1, "", "指定されたチェックボックスが見つかりません。"
End If' ====ハイライトを表示する========================================================
' HwndプロパティはExcel2002以降のみ対応
On Error Resume Next
ShowUMSHighlight(xlsApp.Hwnd)
On Error Goto 0' ====変数に書き込む==============================================================
MsgBox checkBox.value
If checkBox.value = 1 Then
SetUMSVariable $チェック状態$, True
ElseIf checkBox.value = -4146 Then
SetUMSVariable $チェック状態$, False
ElseIf checkBox.value = 2 Then
SetUMSVariable $チェック状態$, "淡色表示"
Else
SetUMSVariable $チェック状態$, "不明"
End IfSet objRe = Nothing
Set xlsApp = Nothing
Set worksheet = Nothing
Set workbook = Nothing
Set fso = Nothing

チェックボックスを何で作っているか、によりますが、
オブジェクトそのものからチェック状態を取得するのは難しいかと思います。
(画像マッチングと分岐でもできるかもしれませんが)
開発タブの「フォームコントロール」で作成したチェックボックスであれば、
右クリックメニューの「コントロールの書式設定」の中の「コントロール」タブにある
「リンクするセル」にどこかのセルを指定すると、指定したセルにチェック状態が「True」か「False」で
取得できますので、その値をさらに値の取得のライブラリ等で変数に取得して判断する形になるかと思います。
ありがとうございました。解決しました。
チェックボックスの名前は下記方法で取得して、ライブラリはうまく動きました。
ホーム⇒検索と選択⇒オブジェクトの選択と表示