GEN MUTO'S HOMEPAGE  エクセル大事典  エクセルVBAを極める

エクセルExcel大事典 エクセル大事典TOPページへ
 ■ エクセルVBAを極める−VBAスーパーテクニック
  VBAステートメントでファイル操作をしてみよう!2
 
■ VBAステートメントによるファイル操作2

前回に引き続き、ファイル操作、ディレクトリ・ドライブ操作を行うためのVBAステートメントについて解説いしていきたいと思います。

ファイル関連の操作

FileCopyステートメント
FileCopy source, destination

ファイルをコピーします。引数sourceはコピーするファイル名を指定します。フォルダ名、ドライブ名を含めて指定ができます。引数destinationにはコピー後のファイル名を指定します。フォルダ名、ドライブ名を含めて指定ができます。

※コピー先のフォルダに同名ファイルが既に存在してる場合は、上書きされます。
※既に開いているファイルに対してFileCopyステートメントを実行するとエラーが発生します。

(例)
  Sub test()
    FileCopy "C:\Users\test.txt", "C:\Users\test_bk.txt"
  End Sub
上の例では、C:\Usersフォルダにあるtest.txtを同じフォルダ内にtest_bk.txtという名前でコピーを作成しています。

Killステートメント
Kill pathname

ファイルを削除します。引数pathnameには、1つまたは複数のファイル名を示す文字列を指定できます。フォルダ名、ドライブ名を含めて指定ができます。

※複数のファイルを指定する場合、「*」「?」などワイルドカードを指定できます。
※既に開いているファイルに対してKillステートメントを実行するとエラーが発生します。

(例)
  Sub test()
    Kill "C:\Users\tmp*.txt"
  End Sub
上の例では、C:\Usersフォルダにあるtmpで始まる拡張子txtのファイルをすべて削除します。

Nameステートメント
Name oldpathname As newpathname

ファイルまたはフォルダの名前を変更します。引数oldpathnameには、変更するファイル名またはフォルダ名を指定します。フォルダ名、ドライブ名を含めて指定ができます。引数newpathnameには、新しいファイル名またはフォルダ名を指定します。フォルダ名、ドライブ名を含めて指定ができます。

※引数newpathnameに、既に存在しているファイル名を指定するとエラーが発生します。
※引数newpathnameに、別のフォルダを指定した場合、移動します。別のフォルダとファイル名を指定した場合、リネームしながら移動します。

(例)
  Sub Sample()
    Name "C:\Users\test.txt" As "C:\Users\test2.txt"
    Name "C:\Users\tmp.txt" As "C:\Users\tmp\tmp.txt"
  End Sub
上の例では、C:\Usersフォルダにあるtest.txtをtest2.txtにリネームした後、C:\Usersフォルダにあるtmp.txtをC:\Users\tmpフォルダに移動します。

SetAttrステートメント
SetAttr pathname, attributes

ファイルの属性を設定します。引数pathnameには、対象となるファイルを指定します。引数attributesには、設定する属性を指定します。次の属性と設定値が指定できます。
定数 内容
vbNormal  0 通常ファイル
vbReadOnly  1 読取専用ファイル
vbHidden  2 隠しファイル
vbSystem  3 システムファイル
vbArchive  4 アーカイブ

※開いているファイルの属性を設定しようとするとエラーになります。

SavePictureステートメント
SavePicture picture,stringexpression

コントロールに関連づけられた画像をファイルに保存します。引数pictureには、コントロールを指定します。引数stringexpressionには、画像を保存するためのファイル名を指定します。

(例)
  Sub test()
    SavePicture UserForm1.Image1.Picture, "C:\Users\test.bmp"
  End Sub
上の例では、UserForm1に配置されたImage1コントロールに読み込まれた画像を、C:\Usersフォルダにtest.bmpという名前で保存します。

ドライブ・ディレクトリ関連の操作

ChDriveステートメント
ChDrive drive

カレントドライブを変更します。引数driveには、変更するドライブ名を指定します。

※引数driveに2文字以上の文字列を指定した場合は、最初の1文字がドライブ文字として使用されます。
※引数driveに長さ0の文字列を指定した場合は、カレントドライブは変更されません。
※引数driveに存在しないドライブを指定するとエラーが発生します。

(例)
  Sub test()
    ChDrive "D"
  End Sub
上の例では、カレントドライブをDドライブに変更します。

ChDirステートメント
ChDir path

カレントフォルダを変更します。引数pathには、変更するフォルダを表す文字列を指定します。引数にドライブを指定した場合、指定されたドライブのカレントフォルダが変更されます。ドライブの指定が無い場合、カレントドライブのカレントフォルダを変更します。

(例)
  Sub test()
    ChDir "test"
  End Sub
上の例では、カレントドライブのカレントフォルダをtestに変更します。

MkDirステートメント
MkDir path

新しくフォルダを作成します。引数pathには作成するフォルダ名や絶対パスを指定します。フォルダ名のみ指定した場合、カレントフォルダの下に新しいフォルダが作成されます。

(例)
  Sub test()
    MkDir "test"
    MkDir "C:\Users\test"
  End Sub
上の例では、カレントフォルダの下にtestフォルダを作成した後、C:\Usersフォルダの下にtestフォルダを作成します。

RmDirステートメント
RmDir path

指定されたフォルダを削除します。引数pathには削除するフォルダ名や絶対パスを指定します。フォルダ名のみ指定した場合、カレントフォルダの下にある指定されたフォルダが削除されます。
※削除対象のフォルダ内にファイルが存在する場合、エラーが発生するので、あらかじめ削除対象フォルダ内のファイルを削除しておく必要があります。

(例)
  Sub test()
    RmDir "test"
    RmDir "C:\Users\test"
  End Sub
上の例では、カレントフォルダの下にtestフォルダを削除した後、C:\Usersフォルダの下にあるtestフォルダを削除します。



以上、ステートメントによるファイル操作を解説しました。手軽にファイルを操作できるこれらのステートメント、開発シーンにあわせてぜひお役立てください。
 

>> 次の話にすすむ


サイト内検索ができます

Microsoft Most Valuable Professional

Microsoft MVP Excel
武藤 玄 プロフィール
 

■■■ 執筆した書籍 ■■■
 

EXCEL VBA 業務自動化
 

Excel VBA を5日でマスターする本
 

仕事を速くする Excel VBA 入門
 

Excel VBAと業務改善のポイントがわかる本
 

Access VBA ベーシック スタンダード
 

Excel VBA アクションゲーム作成入門
 

■■■ 連載中の記事 ■■■
 

Excel VBAで業務改善!
 

実務で使うExcel VBA
 


TOPページ


■ エクセルVBA超入門

 ・9ステップで"Hello World!"
  からオブジェクト指向まで!
  1."Hello World!"を表示しよう
  2.基本はデータの入出力
  3.繰り返し処理
  4.シートで簡易データベース
  5.名前をつけよう
  6.構造化プログラムに挑戦
  7.構造体を使ってみよう
  8.フォームを使ってみよう
  9.オブジェクト指向に挑戦

■ エクセルVBA中級編

 ・VBAでいろんなテクニック
  変数・関数のスコープ
  引数の参照方法を明示
  配列の中身を一気に複写
  識別子がよいコードを作る
  データ定義型をもっと知ろう
  定数と列挙型を活用しよう
  エラー処理の重要性1
  エラー処理の重要性2
  いろいろな条件分岐
  いろいろな繰り返し処理
  演算子について知ろう
  文字列操作 連結 変換 置換
  文字列操作 検索 比較 書式
  日付操作関数を知ろう
  数値操作・評価・その他関数
  並び替えソートをマスター
  いろいろな検索をマスター
  VBEditorを使いこなそう
  マクロの記録を活用しよう1
  マクロの記録を活用しよう2
  VBAからVBEを操作しよう1
  VBAからVBEを操作しよう2
  VBAからVBEを操作しよう3
 ・ワークシートを使いこなす
  セルの参照をマスターしよう
  セルの選択をマスターしよう
  セルの操作をマスターしよう
  セルの書式設定をマスターしよう
  行・列の操作をマスターしよう
  シートの参照をマスターしよう
  シートの操作をマスターしよう
  ブックの操作をマスターしよう
  ウィンドウの操作をマスターしよう
  イベントプロシージャを活用しよう
  ワークシートを印刷しよう1
  ワークシートを印刷しよう2
  音声(読み上げ)機能を操作しよう
  グラフを操作しよう
 ・ユーザーフォームを使いこなす
  ユーザーフォームを使おう
  UserFormsオブジェクト
  Labelコントロール
  TextBoxコントロール
  ComboBoxコントロール
  ListBoxコントロール
  CheckBoxコントロール
  OptionButtonコントロール
  ToggleButtonコントロール
  CommandButtonコントロール
  ScrollBarコントロール
  SpinButtonコントロール
 ・VBA関数の一覧
  Aから始まる関数の一覧
  Cから始まる関数の一覧
  Dから始まる関数の一覧
  Eから始まる関数の一覧
  Fから始まる関数の一覧
  Gから始まる関数の一覧
 
■ エクセルVBAを極める
 VBAスーパーテクニック
 
 ・データベースへ接続してみよう!
  CSVファイルへの接続
  ワークシートへの接続
  mdbファイルへの接続
  SQL Serverへの接続
  ADOレコードセットの操作1
  ADOレコードセットの操作2
 ・ファイルを操作してみよう!
  FileSystemObjectの操作
  Drive File Folderの操作
  TextStream ダイアログ
  ステートメントでファイル操作1
  ステートメントでファイル操作2
 ・他アプリと連携してみよう!
  ActiveXオートメーションの操作
 ・ゲーム技でマクロを超える
  エクセルで音を鳴らす1
  エクセルで音を鳴らす2  
  スクリーン座標を取得
  様々なイベント取得
  リボンUIを制御しよう1
  リボンUIを制御しよう2
  シート上でアニメを動かそう
 
■ 一歩上行くエクセル
 基本操作の完全マスター!

 
 ・あなたはいったい
  エクセルで何をしたいのか?
  エクセルで業務効率化
  エクセル関数を使いこなす
  エクセルの便利技
  エクセルは最高の帳票ツール
 ・エクセル基本操作上級編!
  セル選択、コメント、シリアル値
  オート機能を使いこなそう!
  参照、条件付書式、入力規則
  関数をもっと理解しよう!
  配列数式を有効利用しよう!
  データの正規化をしよう!
  ショートカットキーを利用しよう1
  ショートカットキーを利用しよう2
  Office用アプリを作成しよう!
  PowerPivotとExcelで簡単BI!
 ・世間の誤ったエクセルの
  べからず集
  エクセルで文章を書くべからず
  エクセルで図形を描くべからず
  エクセルでシステムをつくるな
 
■ エクセル関連その他

 ・エクセルコミニュティにあなたも
  参加しませんか?
  Excel関連リンク・コミニュティ
 ・VBの理解がVBAをマスターする
  最短距離!
  VB関連の老舗・大家サイト
 ・エクセルExcel大事典掲示板
 ・プライバシーポリシー

2000アイテムを超えるラベルを販売
送料無料、即納対応の優良ショップ
今買っているラベルより確実に安い!
OAラベルの販売専科グラフトラベル




エクセルExcel大事典ははリンクフリーです エクセル大事典Excel大事典
お問い合わせはこちら gengengen@yahoo.co.jp

Copyright© Gen Muto 武藤 玄 All Rights Reserved,