BEAGLE-HC 医薬品、医療機器の研究・開発 ポータルサイト
 現在位置 : HOME > ITの活用 プログラミング > Access コードライブラリアン(ファイルの操作)
くすりのこと
 治療薬の最前線
データブック
 ヘルスケア市場
 データブック
 (売上ランキング)
ニュース
 企業ニュース
 (パイプラインニュース)
 (財務・決算ニュース)
 (M&Aニュース)
 メディアニュース
ITの活用
 バリデーション
 セキュリティ
 WORD文書の作成
 プログラミング
 (Word/VBA)
 (Excel/VBA)
 (Access/VBA)
 (SAS)
 (SQL)
イベント
 イベントカレンダ
製薬会社研究
 製薬会社
 製薬会社研究
 決算短信一覧
 
 
 
記述の規則 開始・終了処理 プログラム制御 関数
データベースの操作 クエリの操作 フォームの操作 レポートの操作
マクロの操作(DoCmd) ファイルの操作 コントロール プログラムスケルトン
 
Page Index
 
本章では、ファイルの操作についてコードサンプルを示しながら説明していきます。
 
[ツール]→[参照設定]で、
 「Microsoft Office 11.0 Object Library」をチェックすること
 「Microsoft Scripting Runtime」をチェックすること
 
[参照] ダイアログ ボックス(ファイル参照)を使用する ↑ このページの最初へ
例1
Dim fd As FileDialog
Dim vrtSelectedFiles As Variant

Set fd = Application.FileDialog(msoFileDialogFilePicker)

With fd   'プロパティの設定
  .Title = "ダイアログのタイトル(ファイル参照)"
  .Filters.Clear   'フィルターの設定
  .Filters.Add "テキスト", "*.txt; *.csv"
  .Filters.Add "エクセル", "*.xls"
  .Filters.Add "Access", "*.mdb"
  .Filters.Add "すべてのファイル", "*.*"
  .FilterIndex = 4  '"すべてのファイル"をデフォルト表示
  .InitialView = msoFileDialogViewDetails
  .InitialFileName = CurrentProject.Path  '最初に開くホルダー
  .AllowMultiSelect = True  '複数選択可
  If .Show = -1 Then    '.Showで[参照] ダイアログ ボックスを表示
    For Each vrtSelectedFiles In .SelectedItems
      Msgbox "選択したアイテムのパス : " & vrtSelectedItems
    Next vrtSelectedFiles
  Else    'ユーザーが [キャンセル] をクリック
  End If
End With

Set fd = Nothing

※事前の準備(参照設定)
 Visual Basic Editor→ツール→参照設定→MicroSoft Office 1x.0 Object Libraryをチェック
 
[参照] ダイアログ ボックス(フォルダ参照)を使用する ↑ このページの最初へ
使用例
Dim fd As FileDialog
Dim vrtSelectedFolder As Variant

Set fd = Application.FileDialog(msoFileDialogFolderPicker)

With fd  'プロパティの設定
  .Title = "ダイアログのタイトル(フォルダ参照)"
  .InitialView = msoFileDialogViewDetails
  .InitialFileName = "C:\"  '最初に開くホルダー
  If .Show = -1 Then  [参照] ダイアログ ボックスを表示
    For Each vrtSelectedFolder In .SelectedItems
      FDFolderPicker = vrtSelectedFolder
    Next vrtSelectedItem
  Else   'ユーザーが [キャンセル] をクリックした場合
  End If
End With

Set fd = Nothing
 
ファイルをインポートする ↑ このページの最初へ
Excelの場合
 DoCmd.TransferSpreadsheet [transfertype][, spreadsheettype], tablename,filename[, hasfieldnames][, range]
 
  DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "ABCTable", "C:\サンプル.xls", False
 
CSV(Text)の場合
 DoCmd.TransferText [transfertype][, specificationname], tablename, filename[,hasfieldnames]
 
  DoCmd.TransferText acImportDelim, , "ABCTable", "C:\サンプル.csv", False
 
ファイルをエクスポートする ↑ このページの最初へ
Excelの場合
 DoCmd.TransferSpreadsheet [transfertype][, spreadsheettype], tablename,filename[, hasfieldnames][, range]

  DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "ABCTable", "C:\サンプル.xls", False
 
CSV(Text)の場合
 DoCmd.TransferText [transfertype][, specificationname], tablename, filename[,hasfieldnames]

  DoCmd.TransferText acExportDelim, , "ABCTable", "C:\サンプル.csv", False
 
ファイルの存在を確認する ↑ このページの最初へ
例1
Dim fn As String

fn = CurrentProject.Path & "\サンプル.mdb"
If Dir(fn) <> "" Then
  MsgBox "ファイルは存在"
Else
  MsgBox "ファイルは存在しない"
End If
 
例2
Object.
FileExists(filespec)
Dim VarRet As Variant
Dim myFileSystem As New Scripting.FileSystemObject

VarRet = myFileSystem.FileExists("C:\サンプル.mdb")
If VarRet = True Then
  MsgBox "ファイルは存在"
  ElseIf VarRet = False Then
  MsgBox "ファイルは存在しない"
End If
 
ファイルをコピーする ↑ このページの最初へ
object.CopyFile source, destination[, overwrite]
Dim myFileSystem As New Scripting.FileSystemObject
myFileSystem.CopyFile "C:\サンプル.mdb", "D:\"   
 
ファイルを移動する ↑ このページの最初へ
object.MoveFile source, destination
Dim myFileSystem As New Scripting.FileSystemObject
myFileSystem.MoveFile "C:\サンプル.mdb", "D:\"   
 
ファイルを削除する ↑ このページの最初へ
object.DeleteFile filespec[, force]
Dim myFileSystem As New Scripting.FileSystemObject
myFileSystem.DeleteFile "C:\サンプル.mdb"   
 
フルパスからファイル名を取得する ↑ このページの最初へ
object.FileExists(filespec)
Dim fso As Object 'FileSystemObject
Dim myFullPath As String    'フルパス
Dim myFileName As String   'ファイル名

myFullPath = "C:\サンプル.mdb"
Set fso = CreateObject("Scripting.FileSystemObject")
myFileName = fso.GetFileName(myFullPath)
 
カレントパスを取得する ↑ このページの最初へ
Dim pathNAME As String

pathNAME = CurrentProject.Path
 
テーブルの内容をCSV形式のテキストファイルに出力する ↑ このページの最初へ
Dim csvFILENAME As String
Dim wk_DB As Database
Dim wk_Rec As Recordset

csvFILENAME = CurrentProject.Path & "\csvJOBS.txt"
Open csvFILENAME For Output As #1

Set wk_DB = CurrentDb()
Set wk_Rec = wk_DB.OpenRecordset("JOBS", dbOpenTable)

Do Until wk_Rec.EOF = True
  Write #1, wk_Rec.Fields("JOB_ID"), wk_Rec.Fields("JOB_TITLE"), wk_Rec.Fields("MIN_SALARY")
  wk_Rec.MoveNext
Loop

wk_Rec.Close
wk_DB.Close

Close #1

↑ このページの最初へ

   ご意見・ご感想をお寄せください。 ‖ お問い合わせはこちらから ‖ このサイトについて           サイトマップ  ‖
  Copyright 2006 - 2013 uTRAM Corp. All Rights Reserved
 
PHARCIS(ヘルスケア最新情報提供)
Facebook for PHARCIS
ClinMark8
アクセスランキング
(2013年5月)

1位 企業ニュース
2位 売上ランキング
3位 メディアニュース
4位 製薬会社
5位 治療薬の最前線
6位 決算短信一覧
7位 データブック
8位 製薬会社研究
9位 イベントカレンダ
10位 パイプラインニュース