ADODB.Streamでファイルを作成していてSaveToFileで保存する際に、
’アプリケーション定義またはオブジェクト定義のエラーです’とエラーが発生します。
変数SAVEPATHには保存先のパス、TEXTFILE保存ファイル名が定義されています。わからないのはSAVEPATHがローカルのパスだった場合はエラーが発生せず保存できるのですが、サーバーのパスだった場合だと保存がなされないことです。原因の解決方法がわかる方がいたら助けていただけると嬉しいです。
Set ADO = CreateObject("ADODB.Stream") ADO.Charset = "UTF-8" ADO.Mode = 3 '書き込みモード ADO.Type = 2 'テキストデータ ADO.Open //----------------// テキストの内容作成 //----------------// ADO.Position = 0 'ストリームの位置を0にする ADO.Type = 1 'データの種類をバイナリデータに変更 ADO.Position = 3 'ストリームの位置を3にする Dim byteData() As Byte '一時格納用 byteData = ADO.Read 'ストリームの内容を一時格納用変数に保存 ADO.Close '一旦ストリームを閉じる(リセット) ADO.Open 'ストリームを開く ADO.Write byteData 'ストリームに一時格納したデータを流し込む ADO.SaveToFile SAVEPATH & "/" & TEXTFILE, 2 ←ここでエラー ADO.Close
リンク内容
上記のサイトで、ドライブ文字を割り当てていないネットワークドライブに、カレントドライブを変更することはできません。と記述されていました。
解決策として【WSHを使うやり方】が載っていました。
Sub Sample2() With CreateObject("WScript.Shell") .CurrentDirectory = "\\EPSON\E\Develop\" End With MsgBox CurDir End Sub
これを自分の処理にどうくわえたらよいのでしょうか?改めて力を貸していただけると助かります。
回答2件
あなたの回答
tips
プレビュー