• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:再質問:Win2000でエクセル97でシートを外部出力するとエラー)

Win2000でエクセル97でシートを外部出力するとエラー

このQ&Aのポイント
  • Win2000でエクセル97を使用してシートを外部出力するとエラーが発生しています。初心者のため、マクロのユーザー名の変更によりエラーが発生しています。シートには関数が含まれているため、デスクトップに外部出力する際に値のみをコピーする方法を使用しています。以前の回答では解決できず、名前を付けて保存する手順をお勧めされましたが、うまくいきませんでした。解決策をお教えいただけませんでしょうか。
  • Win2000でエクセル97を使用してシートを外部出力する際にエラーが発生しています。マクロのユーザー名の変更によりエラーが発生しており、解決策を模索しています。シートには関数が含まれているため、デスクトップに外部出力する際には値のみをコピーする方法を使用しています。以前の回答では名前を付けて保存する手順をお勧めされましたが、うまくいきませんでした。お助けいただけないでしょうか。
  • Win2000でエクセル97を使用してシートを外部出力するとエラーが発生しています。マクロのユーザー名の変更によりエラーが発生しており、解決策を模索しています。シートには関数が含まれているため、デスクトップに外部出力する際には値のみをコピーする方法を使用しています。以前の回答では名前を付けて保存する手順をお勧めされましたが、うまくいきませんでした。お知恵を拝借できないでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
noname#102878
noname#102878
回答No.3

何をした時にエラーになりますか? このWebブラウザからコードを丸ごとコピーすると、ここの掲示板によって自動的に改行されてしまった部分が構文エラーになり、赤く表示されます。 「 _」(スペース+アンダーバー)は長くなりすぎる1行コードを途中で区切るための文字です。 Selection.PasteSpecial Paste:=xlValues, _ Operation:=xlNone, _ SkipBlanks:= False, _ Transpose:=False この「1行」に関しましては元の質問文のままお使いください。

71063
質問者

お礼

出来ました すごいですね 大変ありがとうございました 今後ともよろしくお願いします

その他の回答 (2)

noname#102878
noname#102878
回答No.2

大変失礼しました。 Set wshShell As Object これを Set WshShell = CreateObject("WScript.Shell") このように変更してください(^_^;; これでイケるはずです。

71063
質問者

補足

度々すいません もう少し、申し訳ありませんが教えてください ご指摘の変更箇所を下記に入れてみましたが、「コンバイルエラー;構文エラー」がまた出て ・この箇所が赤字  Selection.PasteSpecial Paste:=xlValues,  Operation:=xlNone, SkipBlanks:=  _  False, Transpose:=False

noname#102878
noname#102878
回答No.1

変更箇所のコードのみを書きます。 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がどんな内容を取得しているか見ることが出来ます。

71063
質問者

補足

夜遅くまで回答大変ありがとうございました 回答が来なくて、悩んでいました ほんとにありがとうございました もう少し、申し訳ありませんが教えてください ご指摘の変更箇所を下記に入れてみましたが、「コンバイルエラー;構文エラー」が出て ・この箇所が黄色  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

関連するQ&A

専門家に質問してみよう