|
▼TOKU さん:
こんばんは。
>VBAでユ−ザーフォームから保存する時に、指定したフォルダに保存させるプログラムを教えて下さい。
>
>例)『OK』ボタンを押したときに、デスクトップ上の『ABC』というフォルダに保存。
'============================================
Sub test()
Dim desktop_path As String
desktop_path = get_sp_fullpath("Desktop") & "\ABC\"
' ↑デスクトップのフルパスを取得
ans = bk_save(Workbooks("book1.xls"), desktop_path & "test1.xls")
' ↑ 指定のブックを指定のパス名で保存
If ans = 0 Then
mes = "保存成功"
Else
mes = Error$(ans)
End If
MsgBox mes
End Sub
'==============================================================
Function bk_save(bk As Workbook, svflnm As String) As Long
On Error Resume Next
bk_save = 0
Application.DisplayAlerts = False
bk.SaveAs Filename:=svflnm
If Err.Number <> 0 Then
bk_save = Err.Number
End If
Application.DisplayAlerts = True
On Error GoTo 0
End Function
'================================================
Function get_sp_fullpath(keyword) As String
Set WsShell = CreateObject("WScript.Shell")
get_sp_fullpath = WsShell.SpecialFolders(keyword)
' 変数指定はVariantでね
' そうしないと正しい解答を得られません
Set WsShell = Nothing
End Function
確認してみて下さい。
|
|