変更箇所のコードのみを書きます。
Sub Win2000でシートのコピーをデスクトップに外部出力()
Dim wshShell As Object ' WSHのShellオブジェクト
Dim strDesktop As String ' デスクトップのPath
Set wshShell As Object
strDesktop = wshShell.SpecialFolders("Desktop")
Set wshShell = Nothing
・
・
・
ChDir strDesktop
ActiveWorkbook.SaveAs FileName:= _
strDesktop & "\協力業者評価報告書1.xls"
End Sub
Windows Scripting Host というIEが提供する技術を使って現在のユーザーのデスクトップのパスを取得して変数 strDesktop に格納し、ChDirの行とSaveAsの行で使用します。
strDesktop = wshShell.SpecialFolders("Desktop")
この行の下に「MsgBox strDesktop」を書けば実際に変数strDesktopがどんな内容を取得しているか見ることが出来ます。
質問者
補足
夜遅くまで回答大変ありがとうございました
回答が来なくて、悩んでいました
ほんとにありがとうございました
もう少し、申し訳ありませんが教えてください
ご指摘の変更箇所を下記に入れてみましたが、「コンバイルエラー;構文エラー」が出て
・この箇所が黄色
Sub Win2000でシートのコピーをデスクトップに外部出力
・この箇所が赤字
Set wshShell As Object
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=
_
False, Transpose:=False
---添削したもの----------------
Sub Win2000でシートのコピーをデスクトップに外部出力()
Dim wshShell As Object ' WSHのShellオブジェクト
Dim strDesktop As String ' デスクトップのPath
Set wshShell As Object
strDesktop = wshShell.SpecialFolders("Desktop")
Set wshShell = Nothing
Sheets("協力業者評価報告書").Select
Sheets("協力業者評価報告書").Copy
Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=
_
False, Transpose:=False
Range("A2").Select
Application.CutCopyMode = False
ChDir strDesktop
ActiveWorkbook.SaveAs FileName:= _
strDesktop & "\協力業者評価報告書1.xls"
End Sub
お礼
出来ました すごいですね 大変ありがとうございました 今後ともよろしくお願いします