2017-09-29 18 views
1

Accessで以下のVBAを使用してExcelで「Drop」という範囲をインポートしますが、Excelに範囲Dropが存在する場合、まずアクセスをチェックインする方法:MS AccessからExcelに名前付き範囲が存在するかどうかをチェック

DoCmd.TransferSpreadsheet , acSpreadsheetTypeExcel12, "tblCustomerImportDrop", ExcelFilePath, True, "Drop" 

または、エラー3011(範囲を見つけることができない場合に生成される)を抑制し、コードを継続する方法がありますか? VBAでエラーを抑制

答えて

0

は本当に簡単です:あなたが他のすべての行のためのエラーを表示する場合は

だけでエラーが発生する行の前にOn Error Resume Nextを追加し、その背後にあるOn Error GoTo 0

Excelに範囲が存在するかどうかを確認することはできますが、エラートラップが行われていない限り、Microsoft Excel Object Libraryを開いてExcelアプリケーションを開き、その後で閉じる必要があります興味があればエラーのないトラッピング手法)。

+0

ああ、私はちょうどエラー3011を抑制すると思います – Michael

0
 Sub usage_example() 
     fpath = "d:\names_test.xlsx" 
     findedname = "xxxx" 
     ret = existname(fpath, findedname) 
     End Sub 

     Function existname(fpath, findedname) As Boolean 
      Set xlapp = CreateObject("Excel.application") 
      Set wb = xlapp.workbooks.Open(fpath) 
      existname = False 
      For Each nn In wb.names 
       If nn.Name = findedname Then 
        existname = True 
        Exit For 
       End If 
      Next nn 
     wb.Close 
     Set wb = Nothing 
     Set xlapp = Nothing 
     End Function 
関連する問題