質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

1回答

6607閲覧

実行時エラー76 パスが見つかりません。

退会済みユーザー

退会済みユーザー

総合スコア0

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2019/08/26 07:48

編集2019/08/26 07:54

前提・実現したいこと

CSVを書き出そうとすると表題のエラー出ます。
ローカル(デスクトップ)ではうまくいくのですが
共有サーバー上ではエラーとなります。
どのようにしたらエラーが解消されますでしょうか。

Open datFile1 For Output As #1

の箇所でエラーとなります。

発生している問題・エラーメッセージ

実行時エラー76 パスが見つかりません。

該当のソースコード

Sub makeCSV() Application.ScreenUpdating = False Workbooks("例01.xlsm").Sheets("お知らせ").Range("A1:AA5000").Copy _ Workbooks("マスタ.xlsm").Sheets("貼付01").Range("A1:AA5000") Workbooks("例02.xlsm").Sheets("お申込み受領のお知らせ").Range("A1:Q5000").Copy _ Workbooks("マスタ.xlsm").Sheets("貼付02").Range("A1:Q5000") With Range("E1") .AutoFilter 5, "1" Range(Range("B1"), Cells(Rows.Count, 2).End(xlUp)).Offset(1, 0).Copy Worksheets("対象者").Range("A1") .AutoFilter 5, "2" Range(Range("B1"), Cells(Rows.Count, 2).End(xlUp)).Offset(1, 0).Copy Worksheets("対象者").Range("B1") .AutoFilter 5, "3" Range(Range("B1"), Cells(Rows.Count, 2).End(xlUp)).Offset(1, 0).Copy Worksheets("対象者").Range("C1") .AutoFilter 5, "4" Range(Range("B1"), Cells(Rows.Count, 2).End(xlUp)).Offset(1, 0).Copy Worksheets("対象者").Range("D1") .AutoFilter 5, "5" Range(Range("B1"), Cells(Rows.Count, 2).End(xlUp)).Offset(1, 0).Copy Worksheets("対象者").Range("E1") .AutoFilter End With With Range("G1") .AutoFilter 7, "4" Range(Range("F1"), Cells(Rows.Count, 6).End(xlUp)).Offset(1, 0).Copy Worksheets("対象者").Range("F1").PasteSpecial Paste:=xlPasteValues .AutoFilter End With Dim ws1 As Worksheet Dim ws2 As Worksheet Dim ws3 As Worksheet Dim ws4 As Worksheet Dim ws5 As Worksheet Dim ws6 As Worksheet Set ws1 = ThisWorkbook.Worksheets("csv1") Set ws2 = ThisWorkbook.Worksheets("csv2") Set ws3 = ThisWorkbook.Worksheets("csv3") Set ws4 = ThisWorkbook.Worksheets("csv4") Set ws5 = ThisWorkbook.Worksheets("csv5") Set ws6 = ThisWorkbook.Worksheets("csv6") Dim datFile1 As String datFile1 = ActiveWorkbook.Path & "\1_" & Range("J2").Value & ".csv" Open datFile1 For Output As #1 Dim i As Long i = 1 Do While ws1.Cells(i, 1).Value <> "" Print #1, ws1.Cells(i, 1).Value i = i + 1 Loop Close #1 Dim datFile2 As String datFile2 = ActiveWorkbook.Path & "\2_" & Range("J3").Value & ".csv" Open datFile2 For Output As #2 i = 1 Do While ws2.Cells(i, 1).Value <> "" Print #2, ws2.Cells(i, 1).Value i = i + 1 Loop Close #2 Dim datFile3 As String datFile3 = ActiveWorkbook.Path & "\3_" & Range("J4").Value & ".csv" Open datFile3 For Output As #3 i = 1 Do While ws3.Cells(i, 1).Value <> "" Print #3, ws3.Cells(i, 1).Value i = i + 1 Loop Close #3 Dim datFile4 As String datFile4 = ActiveWorkbook.Path & "\4_" & Range("J5").Value & ".csv" Open datFile4 For Output As #4 i = 1 Do While ws4.Cells(i, 1).Value <> "" Print #4, ws4.Cells(i, 1).Value i = i + 1 Loop Close #4 Dim datFile5 As String datFile5 = ActiveWorkbook.Path & "\5_" & Range("J6").Value & ".csv" Open datFile5 For Output As #5 i = 1 Do While ws5.Cells(i, 1).Value <> "" Print #5, ws5.Cells(i, 1).Value i = i + 1 Loop Close #5 Dim datFile6 As String datFile6 = ActiveWorkbook.Path & "\6_" & Range("L2").Value & ".csv" Open datFile6 For Output As #6 i = 1 Do While ws6.Cells(i, 1).Value <> "" Print #6, ws6.Cells(i, 1).Value i = i + 1 Loop Close #6 MsgBox "CSVに書き出しました" End Sub

試したこと

ネット上のはいろいろ試しましたが好転しません。

補足情報(FW/ツールのバージョンなど)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

その出ている通り、パスがないってことなんで、

datFile6 = ActiveWorkbook.Path & "\6_" & Range("L2").Value & ".csv"

ここで生成しているパスが共有サーバにあるのかをチェックしてみよう。

投稿2019/08/26 07:54

y_waiwai

総合スコア87774

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/08/26 07:56

ローカルではファイルを同じ階層に出力されるのですが、共有サーバーの場合は別途何か指定しなくてはいけないのでしょうか。
y_waiwai

2019/08/26 08:03

あなたの共有サーバがどういうフォルダ構成かわからないのでこちらではなんとも言えません。 とにかく、Open文のところで実行を止め、datFile1のナカミがどういうパスになってるか確認することです。 そして、共有サーバではどう修正すればいいかを決めましょう おそらく、その共有サーバには、オープンしようとしているディレクトリが存在していないと思われます。 それを作成してやるなりしてみればどうですか
退会済みユーザー

退会済みユーザー

2019/08/26 08:18

ありがとうございました。 共有サーバーのファイル名に記号が使われていたのが原因でした 教えていただいた方法で「?」が表示されていたので分かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問