|
ichinoseさん返信有難うございます。
アドバイスに従って、環境と詳細コードを記述させてもらいます。
<環境>
Windows2000,Excel2000
<コード>
Public Sub Excel_macro()
Dim obExcel As Object 'Excelオブジェクト
Dim lBookNumber As Long 'ブック数カウント
Dim wkbbuff As Workbook 'バッファ
10
'ブック数カウントを初期化する
lBookNumber = 0
'ワークブック数分ループする
For Each wkbbuff In Workbooks
'他のブックの名前が取得できる場合(他のブックがオープンできる場合)
If Application.Windows(wkbbuff.Name).Visible = True Then '★
'ブック数カウンタをインクリメントする
lBookNumber = lBookNumber + 1
End If
Next wkbbuff
20
'他のブックが既に開かれている場合
If lBookNumber > 1 Then
'警告メッセージオフにする
Application.DisplayAlerts = False
'アプリケーションをクローズする
ActiveWorkbook.Close
End If
'ワークブックを作成する
Set wkbWorkBook = Workbooks.Add
wkbWorkBook.Windows(1).Caption = "テスト"
wkbWorkBook.Worksheets(Sheet1.Name).Activate
Exit Sub
End Sub
一度このマクロを実行後、"テスト"ブックが作成された後、マクロ搭載ブックと"テスト"
ブックがある状態で再びマクロを起動すると★印のところで"インデックスが有効範囲
にありません"のエラーが発生します。
よろしくお願いします。
|
|