|
▼超初心者 さん
VBA初心者です。
いろいろ考えてみたら、
Dim myDir As Stringと宣言して
xlsFileName = myDir & "\" & Format(Date, "yyyy_mm_dd") & "履歴データ一覧.xls"
と変更したら成功しました。
お手数おかけして申し訳ございません。
有難うございました。
>▼超初心者 さん:
>こんにちは。
> 自分なりに修正して
>
>sub
>
>Dim objWShell As Object 'WScript.Shell
>Dim strDesktopPath As String 'デスクトップの場所
>
>'Windows Script Hostのオブジェクトを作成する
>Set objWShell = CreateObject("WScript.Shell")
>
>'スペシャルフォルダ(特殊フォルダ)の場所を返す
>strDesktopPath = objWShell.SpecialFolders("Desktop")
>
>Set DB = CurrentDb
> xlsFileName = "strDesktop" & Format(Date, "yyyy_mm_dd") & "履歴データ一覧.xls"
> Debug.Print xlsFileName
> .
> .
> .(途中省略)
>xlsWkb.SaveAs xlsFileName, FileFormat:=56
> xlsWkb.Close: Set xlsWkb = Nothing
> xlsApp.Quit: Set xlsApp = Nothing
>
>end sub
>
> としましたがユーザのデスクトップに書き出されません。
>デバックプリントで出力してもどこをどのように修正するのか
>わかりません。
>どうかご教授をお願いします。
>
>>▼VBA初心者 さん:
>>> 「xlsFileName = "SpecialFolders("Desktop"):\" & Format
>>> (Date, "yyyy_mm_dd") & "ホストデータ.xls"」として、
>>> 使用しているユーザのデスクトップに保存されるでしょうか。
>>
>>Debug.Print xlsFileName
>>にて、xlsFileNameのデータの中身を確認してみると良いです。
>>きちんとしたファイル名(フルパス)になっていたら出力されます。
>>
>>
>>余談ですが、私のAcc2000では、デスクトップパスは、
>>CreateObject("WScript.Shell").SpecialFolders("Desktop")
>>このようにして取得します。
>>
>>2007から(?)の機能でCreateObjectなしでも使えるように
>>なっているのかもしれませんが、一応、参考までに。。。
|
|