|
とく さん、こんばんわ。
>>>>エラー400がなにを意味するのか、調べてみましたか?
>>>>Msgbox fdfs とかで中身になにが入ってくるのか確認してみてください。
>>>エラー400はヘルプを見てもなにも表示しませんし他の調べ方があるのでしょうか
>>
>>↓調べる方法
>>Sub test()
>> MsgBox Error(400), vbInformation, "こんな内容"
>>End Sub
調べ方があるのでしょうか?とかいてあるので、エラー番号400の内容をメッセージに出してるだけの処理で、本筋とは関係ありません。
>Sub 同時保存()
>Dim fdfs As Variant
>
>fdfs = Application.GetSaveAsFilename("契約報告書VII-WSH.xls", "ExcelFile(*.xls),*.xls")
>If fdfs = "False" Then
>
> MsgBox "キャンセル"
> Exit Sub
>Else
> ThisWorkbook.Save
> MsgBox "保存するファイル : " & fdfs
> Mコでは複写先のフォルダでなくD:\OfficeII-EXCEL\office\がでます
> ThisWorkbook.SaveCopyAs "D:\OfficeII-EXCEL\office\" & fdfs
こっちのパターンは他の方の回答待ちということなので、別の方法で。
ファイル名を固定にしているようなので、フォルダ選択ダイアログで指定したフォルダに複製を作ります。
Function FGet(wbp As Variant) As String
'ダイアログを出してフォルダを選択し、その名前を返す関数
Dim Shl As Object, Fol As Object
Set Shl = CreateObject("Shell.Application")
Set Fol = Shl.BrowseForFolder(0, "フォルダを選択して下さい", 0, wbp)
'
If Fol Is Nothing Then
FGet = ""
Else
FGet = Fol.Items.Item.Path
End If
Set Fol = Nothing: Set Shl = Nothing
End Function
'↓フォルダを指定する関数を呼び出す例
Sub test()
Dim pdat As String
pdat = FGet("D:")
If pdat = "" Then
MsgBox pdat, vbExclamation, "保存もコピーもしません"
Else
With ThisWorkbook
.Save
.SaveCopyAs pdat & "\契約報告書VII-WSH.xls"
End With
End If
End Sub
こんな感じです。
|
|