• 締切済み

ExcelVBAで、隠しフォルダにあるファイルに書き込みする方法

お世話になります。 ExcelVBAで、ネットワーク上の隠しフォルダ(....$で開く ことができる場所のことです)に、テキストファイルの書き 込みをしたいのですが、outputのところで『パス名が無効です』と 表示され、書き込みを行うことができません。 inputで読み込みを行う際には問題なくできるのですが、どうして 書き込みはできないのでしょうか。 原因と対処法を教えてください。 下記が、その例です。 Public Function readText(ByVal stFileName) As String Dim ch1 As Long Dim textline As String Dim stAllText As String readText = "" '空いているファイル番号を取得します ch1 = FreeFile Close #ch1 'FileNamePath のファイルをオープンします Open stFileName For Input As #ch1 'エラーが発生したらファイルを閉じます On Error GoTo Err_readText stAllText = "" '最初に1行だけ読み込む Line Input #ch1, textline stAllText = textline Do While Not EOF(ch1) 'ファイルの終端かどうかを確認します。 '1行読み込みます Line Input #ch1, textline ' 文字列を連結する。 stAllText = stAllText & vbCrLf & textline Loop Close #ch1 readText = stAllText Exit Function Err_readText: Close #ch1 MsgBox Err.Description, vbExclamation, sysName End Function ↑↑↑readは成功します。 Public Function writeText(ByVal stFileName, ByVal stBuff) As Boolean On Error GoTo ErrMsg ' ファイルポインタ Dim n As Long n = FreeFile Open stFileName For Output As #n  ← ここでエラーになる。 Print #n, stBuff Close #n writeText = True Exit Function ErrMsg: ' エラー時処理 MsgBox Err.Description, vbCritical, sysName writeText = False End Function ↑↑↑書き込みではエラーになります。 以上、よろしくお願いいたします。

みんなの回答

回答No.1

読み込みは可能だが、書き込みは不可能ということなので、 そのディレクトリは全てのユーザに対して変更を許可しているのか確認してみてはどうでしょうか?

tatapata
質問者

お礼

bluecampusさん、ありがとうございました。 おっしゃる通り、権限が決められているため保存できないようでした。 大変申し訳ありませんでした。 また何かありましたら、よろしくお願いいたします。