PCメモ

Excelを中心とした業務改善の記録

ブックを開いて加工

Sub ブックを開いて加工()


  Dim openBook As Workbook
  Dim openPath As String

  '選択したブック名を格納
  openPath = Application.GetOpenFilename("csv,*.csv")
 If openPath <> "False" Then 

  '格納したブックを開く
Set openBook = Workbooks.Open(openPath)

'処理開始
'====================================
'開いたブックの1番目のシートのセルを全選択コピー
'wbの1番目のA1へ貼り付け
openBook.Sheets(1).Cells.Copy ThisWorkbook.Sheets(1).Cells(1, 1)

openBook.Close

  MsgBox "更新完了"

 Else
  MsgBox "中止しました"

 End If

'====================================

End Sub

 openPath = Application.GetOpenFilename("csv,*.csv")

これだとファイルしか選択できない。

 

filedialogにすればフォルダを選択したり、ダイアログボックスの表題を変更することができる。

 

Sub ブックを開いて加工2()

 Dim openBook As Workbook

 'ファイルを選択するダイアログを開く
 With Application.FileDialog(msoFileDialogFilePicker)
  .Title = "開くブックを選んでください"
  .Filters.Clear
  .Filters.Add "Excelブック", "*.xls?" 
  .AllowMultiSelect = False
  .Show

  'キャンセルの場合
  On Error Resume Next

  'ブックを開き、変数に格納
  Set openBook = Workbooks.Open(.SelectedItems(1))

  '開いたブックの名前を出力
  MsgBox openBook.Name & "を開きました。ブックを閉じます。"

  '開いたブックを閉じる
  openBook.Close

 End With


End Sub

 

f:id:abv72:20210318221045p:plain