- ベストアンサー
RmDirでフォルダが削除できない vba
http://www.k1simplify.com/vba/tipsleaf/dir.html を参考にしたのですが Sub test() RmDir "\\test-PC\Users\Public\test" End Sub でフォルダの削除ができると思ったのですが パス名が無効ですというエラーになってしまいます。 ネットワークパスだからダメなのでしょうか? パスはフォルダからコピペしたので間違いないです。
- みんなの回答 (6)
- 専門家の回答
関連するQ&A
- EXCEL フォルダだけを検索したい
EXCEL2003を使っています。 開いているファイルと同じフォルダ内に「テストフォルダ」があるかどうかを調べ、存在した場合に削除したいのですが、以下のような書き方ではフォルダだけでなくファイルも検索してしまうようです。 フォルダだけを検索するにはどうしたらいいでしょうか? FSOでできることは分かっていますが、以下の方法で試してみたいのです。どうぞ宜しくお願い致します。 Sub test() my_path = ActiveWorkbook.Path & "\" f_name = Dir(my_path, 16) Do Until f_name = "" If f_name = "テストフォルダ" Then RmDir "テストフォルダ" End If f_name = Dir() Loop End Sub
- ベストアンサー
- オフィス系ソフト
- フォルダの中身が空白なのかを調べたい。
こんばんは。 エクセル2003のvbaにて Sub test() If Dir("D:新しいフォルダ") = "" Then MsgBox "フォルダには何も入っていません" Else MsgBox "フォルダに何か入っています" End If End Sub で試してみたのですが フォルダに何か入っていても "フォルダには何も入っていません" と表示されてしまいます。 どうすればうまくいくのでしょうか? よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- vbaでフォルダの中のファイルを削除したい
vbaでフォルダの中のファイルを削除したいのですが その場合は、 Sub フォルダの中身を全て削除する() Set myFSO = CreateObject("Scripting.FileSystemObject") With myFSO MyFolderName = ConsT_フォルダ名 & "\" MyFileName = Dir(MyFolderName & "\*.*") Do While MyFileName <> "" myFSO.DeleteFile MyFolderName & "\" & MyFileName MyFileName = Dir() Loop End With Set myFSO = Nothing End Sub の様にして、一つ一つループして消していかないとダメでしょうか? フォルダは残して、カラのフォルダにしたいです。
- ベストアンサー
- その他(プログラミング・開発)
- サブフォルダの親フォルダを変えたい
フォルダの中のサブフォルダを取得してくて、 http://officetanaka.net/excel/vba/tips/tips95.htm の --------------------------------------------------------- Sub Sample4() Dim buf As String, msg As String buf = Dir("*.*", vbDirectory) Do While buf <> "" If InStr(buf, ".") = 0 Then msg = msg & buf & vbCrLf buf = Dir() Loop MsgBox msg End Sub --------------------------------------------------------- をやってみたら、サブフォルダを取得できたのですが、 上記のコードを実行すると 元々のフォルダのパスが「C:\Users」で、 「C:\Users」のサブフォルダが取得されてしまいます。 でも上記のコードでは、「C:\Users」は指定してないと思うのですが、 なぜ「C:\Users」のサブフォルダが取得されてしまうのでしょうか? 例えば 「C:\Users」ではなく、「C:\Program Files」のサブフォルダを取得するには、 どのようにコードを書き換えればいいのでしょうか? ご教授よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- フォルダの中身がカラか調べる
vbaです。 フォルダ(新しいフォルダ)を作り、その中にサブフォルダ(Test用フォルダ)を作って --------------------------------------------------------- Sub フォルダの中身がカラか調べる() If Dir("D:\新しいフォルダ\Test用フォルダ\*.*") = "" Then MsgBox "カラです" Else MsgBox "カラではありません" End If End Sub --------------------------------------------------------- を実行すると、新しいフォルダの中にフォルダがあるのに、 「カラです」が表示されてしまいます。 新しいフォルダのファイルサイズは0です。 If Dir("D:\新しいフォルダ\Test用フォルダ\*.*") = "" Then のコードは、フォルダの中のファイル数ではなく、 フォルダのサイズを取得してしまうのでしょうか?
- ベストアンサー
- Visual Basic
- フォルダー内のファイルのリンク VBA
以前、カーソールを置いた部分のテキストとフォルダーの中にあるファイルが一致した場合、 ボタンを押す事によりハイパーリンクを付けるVBAを教えて頂き、現在も活用をさせて頂いています。 今までエクセル「E」列を対象にしていたのですが、 使用しているうちに前列に項目を入れたくなり「E」列の前に2列追加し、 対象の列が「E」列から「G」列の変更になりました。 それから新たにリンクを作成しようとしても実行出来なくなりました。 追加した前列を消しても駄目に。 素人なりに列を指定しているところを変えてみたのですが駄目でして。 If .Column <> 5 Or .Value = "" Then Exit Subを If .Column <> 7 Or .Value = "" Then Exit Subに。 列を変えた場合は、何処をどうすれば良いのでしょうか? 申し訳ありませんが、教えて頂けないでしょうか? 元のVBA Sub Test() Dim fName As String fName = ThisWorkbook.path & "\test\test-a\" With ActiveCell If .Column <> 5 Or .Value = "" Then Exit Sub fName = fName & .Offset(0, -4).MergeArea.Cells(1, 1).Value & _ "\" & .Value & ".prt" If Dir(fName) <> "" Then ActiveSheet.Hyperlinks.Add Anchor:=ActiveCell, Address:=fName End If End With End Sub
- ベストアンサー
- その他MS Office製品
- フォルダの中にファイルがあるかどうかを読み取りたい
vbaです。 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ Option Explicit Sub test() Dim 検索フォルダ As String Dim 検索ファイル名 As String 検索フォルダ = "C:\Users\Public" 検索ファイル名 = "新しいテキスト ドキュメント.txt" If 検索フォルダの中に検索ファイル名がある Then MsgBox 検索ファイル名 & "は存在します" End If End Sub ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ こんな感じで、フォルダの中にファイルがあるかどうかを読み取りたいのですが これ以上どういうコードを書けばいいかわかりません。 「フォルダの中にファイルがあるかどうか」がわかれば、出来そうな気がするのですが ご教授いただけますか?
- ベストアンサー
- その他(プログラミング・開発)
- エクセルVBA自動ハイパーリンクフォルダー指定場所
管理台帳を作成したく、下記のVBAを作りました。 マクロ内容は、Aセルに管理番号を入力しマクロ実行ボタンにて、 入力した番号と同じフォルダーを作成しハイパーリンクする自動フォルダー作成&ハイパーリンクマクロです。 現在のフォルダー作成場所はローカルのDドライブ直下に作る様に指定しているのですが、 エクセルVBAがある場所と同じ場所に、上記のマクロで作るフォルダーが出来る様にしたいのですが、 見よう見まねでVBAを何とか作ったのですが、知識がなくこれ以上が解りません。 出来れば、下記のVBAを編集して頂、教えて頂いたVBAをそのままコピペすれば使える状態で教えて頂ければ助かります。 宜しくお願い致します。 Sub MakeHyLink() Const path As String = "D:\" Dim wkStr As String If ActiveCell.Column = 1 Then wkStr = path & ActiveCell.Value If Dir(wkStr, vbDirectory) = vbNullString Then MsgBox wkStr & "フォルダがありません。作成します。" MkDir wkStr Else MsgBox wkStr & "フォルダは存在します。" End If ActiveSheet.Hyperlinks.Add Anchor:=ActiveCell, Address:=wkStr End If
- ベストアンサー
- その他(プログラミング・開発)
- フォルダーが削除できない。
フォルダーが削除できない。 削除しようとすると「対象のパスが長すぎます」というダイアログが出、削除できません。 試しに、コマンドプロンプトで「del」「dr」「rmdir」を使用しましたが。削除できません。 フォルダー名が test―test1―test―tet1...無現ループ | | | +test2...無現ループ | | +test2―test―test1...無現ループ | +test2...無現ループ (フォルダー名「test2010_0505 50% bug 2」の中にbin、srcがあり、bin、srcの中にそれぞれtest2010_0505 50% bug 2があり無現ループしています。) のように恐ろしいことになっています<("O")>。 フォルダー階層を開いていくたびHDがうなるのです。 ご存知の方がおられましたら教えてください。 よろしくお願いいたします。
- ベストアンサー
- Windows系OS
- エクセルのVBAで、フォルダごとコピーしたいのですが…
エクセルのVBAで、フォルダごとコピーしたいのですが… Dドライブの”TEST"というフォルダを、同じくDドライブに"TEST2"という名前でコピーしたいのです。 Private Sub sakusei_Click() Dim myFSO As New FileSystemObject myFSO.CopyFolder "D:\TEST", "D:\TEST2" End Sub ではうまくいかないのです。 私は初心者なので調べてもよくわからないので、 有識者の方、是非教えてください。 宜しくお願い致します。
- ベストアンサー
- オフィス系ソフト
お礼
回答頂きありがとうございました。