01-VBA

Excel VBA の「オブジェクト活用」(Part.4)【ブック活用編】| 現役エンジニア&プログラミングスクール講師

目標

Excelのオブジェクトへの操作を体験して動きを把握し利用できる
ブックの操作方法を確認して動きを把握できる

オブジェクトの概要と操作

オブジェクトの概要についてはこちらを参考にしてください。

初心者のためのExcelVBAのオブジェクト | 現役エンジニア&プログラミングスクール講師ExcelVBAのオブジェクトについて説明しています...

Excelブックの準備

デスクトップに適当なフォルダを準備(この記事では「vbaDevFolder」)してその中にマクロを記述するブックの「Usingobject.xlsm」ファイル操作される側の中身が空のシート「newBookOpen.xlsx」ファイルを配置します。

Excelブックの操作

サンプルプロシージャ1

Sub bookObjectOpe()
'##################################################
'#  ブックの操作                              #
'##################################################

'ブックまでのパスを確認します。(VBAでの操作ではありません。)
'ファイルを右クリックしてプロパティから確認します。

'「newBookOpen.xlsx」のブックを開きます。
'---------------------------------------------------------------------------------------------
Workbooks.Open Filename:="C:\Users\User\Desktop\vbaDevFolder\newBookOpen.xlsx"
'---------------------------------------------------------------------------------------------


'ブックまでのパスを取得します。(VBAでの操作)

'「ThisWorkbook.Path」を利用します。これでVBAが動いているファイの
'格納されているフォルダまでのパスを取得できます。その後連結演算子の「&」を利用して
'ファイルまでのフルパスを作成します。

'(今回は「Usingobject.xlsm」が格納されているフォルダまでのパスを取得します。)
'---------------------------------------------------------------------------------------------
Dim filePath As String
'変数「filePath」に「newBookOpen.xlsx」までのフルパスを代入します。
filePath = ThisWorkbook.Path & "\newBookOpen.xlsx"
MsgBox filePath
'---------------------------------------------------------------------------------------------


'「newBookOpen.xlsx」ブックのを保存します。
'---------------------------------------------------------------------------------------------
Workbooks("newBookOpen.xlsx").Activate
'保存の前に文字を入力してみます。
Range("A1").Value = InputBox("文字を入力")
'ブックを保存します。
ActiveWorkbook.Save
'---------------------------------------------------------------------------------------------

'ブックの別名保存
'---------------------------------------------------------------------------------------------
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\newBookSave.xlsx"
'---------------------------------------------------------------------------------------------

'ブックを閉じます。
'---------------------------------------------------------------------------------------------
ActiveWorkbook.Close
'---------------------------------------------------------------------------------------------


'ファイルの種類を指定してエクスプローラを開きます。
'GetOpenFilenameは現在のカレントフォルダを開きます。
'ChDir関数を利用してカレントフォルダを変更できます。
'---------------------------------------------------------------------------------------------
ChDir "C:\Users\User\Desktop\vbaDevFolder\"
Application.GetOpenFilename ("エクセルファイル,*.xlsx")
'---------------------------------------------------------------------------------------------

End Sub

ステップモードで動作を確認

VBAの中で使用するパスを確認して設定を行う

「vbaDevFolder」内の何れかのファイルで右クリックしてメニューを表示し、「プロパティ」を選択します。

ダイアログボックスが表示されたら中央付近の「場所:」の部分を確認します。これがこのファイルのある場所(現在のパス)になります。このパスをVBAのプログラムの中で利用します。

実行結果

次のプログラムにある「ダブルクォーテーション””」の中は利用しているPCによって変更が必要です。この記事の上にあるパスの確認を行って場所に表示されたパスをコピペして上書きをします。今回は”C:\Users\User\Desktop\vbaDevFolder”とあるのでここに「¥ファイル名」としてファイルをつなげます(「\newBookOpen.xlsx」)。

カレントディレクトリに設定した「”C:\Users\User\Desktop\vbaDevFolder”」が開きます。この時、GetOpenFilenameの第一引数で指定したファイルで、第二引数で指定した拡張子のものを表示します。

今回は以上となります。

初心者も実践で通用!「VBA・VBS」おすすめ書籍5選 | 現役エンジニア&プログラミングスクール講師「VBA・VBS」初心者の方が実践業務の中でそれらを活用しt活躍できるために必要な知識を習得できる書籍を紹介しています。ページの下部には「おすすめのITスクール情報」「おすすめ求人サイト」について情報を掲載中。...

ブックマークのすすめ

「ほわほわぶろぐ」を常に検索するのが面倒だという方はブックマークをお勧めします。ブックマークの設定は別記事にて掲載しています。

「お気に入り」の登録・削除方法【Google Chrome / Microsoft Edge】| 現役エンジニア&プログラミングスクール講師「お気に入り」の登録・削除方法【Google Chrome / Microsoft Edge】について解説している記事です。削除方法も掲載しています。...
【パソコン選び】失敗しないための重要ポイント | 現役エンジニア&プログラミングスクール講師【パソコン選び】失敗しないための重要ポイントについての記事です。パソコンのタイプと購入時に検討すべき点・家電量販店で見かけるCPUの見方・購入者が必要とするメモリ容量・HDDとSSDについて・ディスプレイの種類・バッテリーの持ち時間や保証・Officeソフト・ウィルス対策ソフトについて書いています。...
RELATED POST
01-VBA

クラスの利用方法|Excel VBA(番外編)| 現役エンジニア&プログラミングスクール講師

2023年2月19日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
01-VBA

制御構文|Excel VBA (Part.10)【Do Loop】実用的なプログラム編 | 現役エンジニア&プログラミングスクール講師

2022年12月2日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
01-VBA

印刷機能|Excel VBA (Part.1)【PageSetupプロパティ/PrintPreviewメソッド/PrintOutメソッド】編 | 現役エンジニア&プログラミングスクール講師

2022年12月5日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
01-VBA

制御構文|Excel VBA (Part.1) 概要編 | 現役エンジニア&プログラミングスクール講師

2022年11月8日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
01-VBA

Excel VBA の「オブジェクト活用」(Part.3)【データの並び替え・抽出編】| 現役エンジニア&プログラミングスクール講師

2022年12月16日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
01-VBA

VBScriptを利用したファイルの複製(Part.3)| 現役エンジニア&プログラミングスクール講師

2023年2月13日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site