Top> 部品(ブック関連)

VBA通信教材申込み

VBA課題解決型実践塾セミナー内容

申込 ヤフーショッピング

部品(ブック・ファイル関連)

ブックの新規作成

  Workbooks.Add

ブックのオープン

  Workbooks.Open Filename:="呼び出し先.xlsm"

ブックのクローズ

  Workbooks("呼び出し先.xlsm").Close

アクティブブックをdドライブのasaiフォルダーにabc.xlsxの名前をつけて保存

  ActiveWorkbook.SaveAs Filename:="d:\asai\abc.xlsx"

アクティブブックを閉じる

  ActiveWorkbook.Close

アクティブブックのファイルの場所Pathの取得

  MsgBox ActiveWorkbook.path

開いているブックのファイルの場所Pathの取得

  MsgBox Workbooks("ファイル名.xlsx").path

開いているブックのセルの取得

  MsgBox Workbooks("ファイル名.xlsx").Worksheets("シート名").Cells(行,列)

ブックの存在確認

Sub ファイル存在()
  Dim fullpath As String
  fullpath = "d:\asai\練習\Sample1.xlsx"
  If Dir(fullpath) <> "" Then
   Workbooks.Open Filename:=fullpath
  Else
   MsgBox "そのブックは存在しません"
  End If
End Sub

ブックが開いているか確認してから開く

  Dim flag As Boolean
  Dim wb As Workbook
  Dim MyFile As String
  MyFile = "D:\教材\VBA\VBA実践塾\シート\呼び出し先.xlsm"
  flag = False
  For Each wb In Workbooks
    If wb.FullName = MyFile Then
      flag = True
      MsgBox MyFile & "は既に開いています"
      Exit For
    End If
  Next wb
  If flag = False Then
    MsgBox MyFile & "を開きます"
    Workbooks.Open MyFile
  End If

ブックオープン時自動実行

  Sub auto_open()
    Call kyou3mae
    Call dataari
    Call toridasi
  End Sub

CSVファイルの読み込み(最小限)

  Sub torikomi()
    Dim FileNamePath As Variant
    Dim textline, csvline() As String
    Dim Rowcnt, ColumNum As Integer
    Dim ch1 As Long
    Worksheets("名簿").Cells.Clear
    ch1 = FreeFile
    FileNamePath = "d:\移行データ\meibo.csv"
    Open FileNamePath For Input As #ch1
    Rowcnt = 1
    Do While Not EOF(ch1)
      Line Input #ch1, textline
      csvline() = Split(textline, ",")
      Range(Worksheets("名簿").Cells(Rowcnt, 1), _
      Worksheets("名簿").Cells(Rowcnt, UBound(csvline()) + 1)) = csvline()
      Rowcnt = Rowcnt + 1
    Loop
  End Sub

CSVファイルの読み込み

  Sub CSV_Read2()
    Dim FileType, Prompt As String
    Dim FileNamePath As Variant
    Dim textline, csvline() As String
    Dim Rowcnt, ColumNum As Integer
    Dim ch1 As Long
    FileType = "CSV ファイル (*.csv),*.csv"
    Prompt = "CSV File を選択してください"
    '操作したいファイルのパスを取得します
    FileNamePath = SelectFileNamePath(FileType, Prompt)
    If FileNamePath = False Then€ 'キャンセルボタンが押された
      End
    End If
  '空いているファイル番号を取得します
   ch1 = FreeFile
   'FileNamePath のファイルをオープンします
  Open FileNamePath For Input As #ch1
  'エラーが発生したらファイルを閉じます
  'CSVのファイルは1行の項目数が正確に合っていないと読めないのですが、
   '色々なCSVがあるようなので入れておきます
  On Error GoTo CloseFile
   '表の行番号の初期化 1行目から読み込んだデータを入力します
  Rowcnt = 1
  Do While Not EOF(ch1)€ 'ファイルの終端かどうかを確認します。
    '1行読み込みます
    Line Input #ch1, textline
    'ダブルクォーテーションを削除します
    'カンマ+ダブルクォーテーションで区切られている CSVファイル
    'などは適時追加してください
     textline = Replace(textline, """", "")
    'カンマで分離します
    csvline() = Split(textline, ",")
    '配列渡しでセルに代入
    Range(Cells(Rowcnt, 1), _
       Cells(Rowcnt, UBound(csvline()) + 1)) = csvline()
      Rowcnt = Rowcnt + 1
    Loop
    Cells(2, 4) = Round(Cells(1, 4))
  CloseFile:
    'ファイルを閉じます
    Close #ch1
  End Sub
  Function SelectFileNamePath(FileType, Prompt) As Variant
    SelectFileNamePath = Application.GetOpenFilename(FileType, , Prompt)
  End Function

CSVファイルの書き込み1

Sub csvoutput()
  Worksheets("合体").Select
  Application.DisplayAlerts = False
  ActiveWorkbook.SaveAs Filename:="D:\自分のデータ\ikou.csv", FileFormat:=xlCSV, _
    CreateBackup:=False
  Application.DisplayAlerts = True
End Sub

CSVファイルの書き込み2

Sub csvoutput1()
  Dim FileNamePath As Variant
  Dim ch1 As Long
  Dim lastrow As Long
  Dim i As Long
  Dim j As Long
  Dim data(4) As String
  FileNamePath = "d:\自分のデータ\ikou.csv"
  Worksheets("合体").Select
  lastrow = Worksheets("合体").Cells(Rows.Count, 1).End(xlUp).Row
  ch1 = FreeFile
  Open FileNamePath For Output As #ch1
  For i = 2 To lastrow
    For j = 1 To 5
      data(j - 1) = Cells(i, j)
    Next
    Write #ch1, data(0), data(1), data(2), data(3), data(4)
  Next
  Close #ch1
End Sub

  

ファイルを開くダイアログの表示

  Sub yobidasi()
    Dim OpenFileName As String
    OpenFileName = Application.GetOpenFilename("Excelブック,*.xlsx")
    If OpenFileName <> "False" Then
      Workbooks.Open OpenFileName
    End If
  End Sub

フォルダー内のすべてのファイルを処理する

  Path = "D:\文字列置換\指定1\指定11\"
  buf = Dir(Path & "*.xlsx")
  Do While buf <> ""
    Workbooks.Open Path & buf
    Worksheets("変更").Cells(1, 2) = "税込"
    ActiveWorkbook.Close
    buf = Dir()
  Loop

エクセルを終了する

  Application.Quit

塾長あいさつ
基本方針(考え方)
通信教育内容
課題解決セミナー内容
初心者基礎コース内容
カリキュラム・料金
案内地図・各種リンク
問合せ・申込み
アベノ塾
システムの内製化
アサイコンピュータACS
応用部品集(有料)
販売管理(事例)
財務管理(事例)
顧客管理(事例)
見積もり(事例)
給与(事例)
介護(事例)
ゴースト暗算(事例)
部品集(部品の基礎)
部品集(シート関連)
部品集(データベース)
部品集(セル関連)
部品集(関数)
部品集(フォーム関連)
部品集(ブック関連)
部品集(その他)
変数の勉強
繰り返しと条件文
マスター登録.訂正.削除
フォルダー内のファイル
項目をシート名で作成
ブックの操作
CSVファイルの取り込み
呼び出し元・先
商品マスター検索
エクセル関数をVBAで
エクセル関数を使う
よくつかうプログラム
販売管理(ソース)
財務管理(ソース)
給与管理(概要・画面)
見積もり(概要・画面)
工程管理(概要・画面)
原価管理(概要・画面)