ワークシート変換
こちらも第一引数を、"import"|"export"|"link" で指定できるようにした。
DoCmd.TransferSpreadsheet にはテーブルの見出しを使うか使わないかという指定や、レンジの指定もできるけど、そこまで細かい指定に対応するよりは、MS Access とやりとりする必要があるワークシートはテーブル形式に整えろ!という内部ルールを徹底させるほうが、マクロを簡単に作れる環境を整備しようというこれらユーザー関数提供の目的に適う。
Function doCmdTransferSS(mode As String, fPath As String, tName As String) Dim myDic As Object Set myDic = CreateObject("Scripting.Dictionary") myDic.Add "import", acImport myDic.Add "export", acExport myDic.Add "link", acLink On Error GoTo ErrorHandle 'Debug.Print "passed:doCmdTransferSS:" & mode; "" DoCmd.TransferSpreadsheet myDic.Item(mode), _ acSpreadsheetTypeExcel9, _ tName, _ fPath, _ True ', useRange doCmdTransferSS = True GoOut: Exit Function ErrorHandle: MsgBox Err.Number & vbCrLf & Err.Source & vbCrLf & Err.Description doCmdTransferSS = False GoTo GoOut End Function