忍者ブログ
  • 2025.05《
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 》 2025.07
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

2025/06/20 02:33 |
Falder
Excelマクロのモジュールをそのまま貼り付け。
(会社とか家とか出先とかで見るため)
「Option Compare Binary」以下を標準モジュールに貼り付ければ、Myマクロ辞典に!
貼り付け後、「■Sub 」を「Sub 」に置き換えよう!
※公開している以上、利用は自由ですが、自己責任で。


Option Compare Binary
Option Explicit
'
'ファイル操作関連

■Sub カレントフォルダの変更_その1()
'以下の2行が必要。

ChDrive ThisWorkbook.Path
ChDir ThisWorkbook.Path

'"CurDir"がカレントフォルダの意
MsgBox "現在のカレントフォルダは" & vbCr & CurDir & vbCr & "です。"

End Sub

■Sub カレントフォルダの変更_その2()

ChDrive ActiveWorkbook.Path
ChDir ActiveWorkbook.Path

MsgBox "現在のカレントフォルダは" & vbCr & CurDir & vbCr & "です。"

End Sub

■Sub カレントフォルダの変更_デスクトップに保存()

Dim Path As String, WSH As Variant
Set WSH = CreateObject("WScript.Shell")
Path = WSH.SpecialFolders("Desktop") & "\"
ActiveWorkbook.SaveAs Path & "Sample1.xls"
Set WSH = Nothing

'※「Path」を変数に使うと変な動きをするので「myPath」とかにすること。???
'※「Path」はプロパティ(Pathプロパティ)として使われる。

'※カレントドライブが別のドライブの場合、ChDirステートメントを実行してもカレントフォルダは変更されない。
'※にChDriveステートメントでドライブを指定する。
'※ChDrive "D"

'引数に指定する文字列
'定数 内容
'Desktop Desktopフォルダ
'Favorites Favoritesフォルダ
'Fonts Fontsフォルダ
'MyDocuments MyDocumentsフォルダ
'Programs Programsフォルダ
'Recent Recentフォルダ
'SendTo SendToフォルダ
'StartMenu StartMenuフォルダ
'StartUp StartUpフォルダ


End Sub

■Sub カレントフォルダの変更_マイドキュメントから開く()

'カレントフォルダの変更
Dim Path As String, WSH As Variant, openFileName As String
Set WSH = CreateObject("WScript.Shell")
Path = WSH.SpecialFolders("MyDocuments") & "\"
ChDir Path
Debug.Print Path

'ファイルを開く(GetOpenFilename FileFilter, FilterIndex, Title, ButtonText, MultiSelect)
openFileName = Application.GetOpenFilename("Excelファイル,*.xls")
If openFileName <> "False" Then
Workbooks.Open openFileName
End If
Set WSH = Nothing


End Sub

■Sub フォルダの確認()

Dim myPath, myDir As String

myPath = Range("myCurDir") '前回使用したファイルパス
myDir = Dir(myPath, vbDirectory) '前回使用したフォルダ(存在しない場合は空欄になる)

MsgBox "パス: " & myPath & "   " & Chr(10) & "フォルダ名: " & myDir


'※カレントフォルダの確認は、File の「ファイルを取得」を参照

End Sub

■Sub フォルダの作成()

MkDir "C:\Work\新しいフォルダ"

'フォルダ名だけを指定した場合、カレントフォルダが操作の対象になる

End Sub

■Sub フォルダの削除その1()

RmDir "C:\Work\新しいフォルダ"

'フォルダにファイルが存在するとエラーになる(空のフォルダしか削除できない)

End Sub

■Sub フォルダの削除その2()

Dim FSO As Object
Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.DeleteFolder "C:\Work"
Set FSO = Nothing

'C:\Work\フォルダを削除(フォルダ内の全てのファイルを削除)

End Sub

■Sub フォルダ指定_その1()

'【FileDialogオブジェクトを使う方法】
'ダイアログが開くのでフォルダを選択すると、そのフォルダがカレントフォルダになる。
'ダイアログのボタンは使えず、「保存先」のプルダウンメニューでフォルダを指定する。 ←使えるみたい。。。

Dim MyFolder As String

With Application.FileDialog(msoFileDialogFolderPicker)

'.Show 以下のIF文が入らないときはこれだけでよい。

If .Show = -1 Then
MyFolder = .SelectedItems(1)
Else
'[キャンセル] をクリックした場合
End
End If

End With

MsgBox "MyFolder: " & MyFolder
MsgBox "CurDir: " & CurDir

'「ファイルパスの変更」も参照

End Sub

■Sub フォルダ指定_その2()
'【Shellを使う方法】

Dim Shell, myPath
Set Shell = CreateObject("Shell.Application")
Set myPath = Shell.BrowseForFolder(&O0, "フォルダを選んでください", &H1 + &H10, "C:\")
'Set myPath = Shell.BrowseForFolder(&O0, "フォルダを選んでください", &H1 + &H10, ThisWorkbook.path)
'↑これにすると上層のフォルダが選べない
If Not myPath Is Nothing Then MsgBox myPath.Items.Item.Path
Set Shell = Nothing
Set myPath = Nothing

'参照:http://officetanaka.net/excel/vba/tips/tips39.htm (2010/03/30)

End Sub

PR
2015/04/14 21:50 | Excelマクロ(VBA) | コメント(0)
<<ErrSet3 | ホーム | File>>
コメント
コメントの投稿















前ページ | ホーム | 次ページ