Win2000でエクセル97でシートを外部出力するとエラー
- Win2000でエクセル97を使用してシートを外部出力するとエラーが発生しています。初心者のため、マクロのユーザー名の変更によりエラーが発生しています。シートには関数が含まれているため、デスクトップに外部出力する際に値のみをコピーする方法を使用しています。以前の回答では解決できず、名前を付けて保存する手順をお勧めされましたが、うまくいきませんでした。解決策をお教えいただけませんでしょうか。
- Win2000でエクセル97を使用してシートを外部出力する際にエラーが発生しています。マクロのユーザー名の変更によりエラーが発生しており、解決策を模索しています。シートには関数が含まれているため、デスクトップに外部出力する際には値のみをコピーする方法を使用しています。以前の回答では名前を付けて保存する手順をお勧めされましたが、うまくいきませんでした。お助けいただけないでしょうか。
- Win2000でエクセル97を使用してシートを外部出力するとエラーが発生しています。マクロのユーザー名の変更によりエラーが発生しており、解決策を模索しています。シートには関数が含まれているため、デスクトップに外部出力する際には値のみをコピーする方法を使用しています。以前の回答では名前を付けて保存する手順をお勧めされましたが、うまくいきませんでした。お知恵を拝借できないでしょうか。
- ベストアンサー
再質問:Win2000でエクセル97でシートを外部出力するとエラー
マクロのことはまだ初心者で、下記のようなマクロの記録を作成してみたのですが、実行すると2000ではユーザーが変わるとエラー表示が出てしまって、困っています ユーザー名は私の会社のイントラネットのユーザー番号です シートは関数も入っているので、コピー+値にしデスクトップに外部出力する方法にしています 昨日回答をもらったのですが今一歩のところでエラーになり解決できず、行き詰まっています、 名前を付けて保存の手順が良いと思うのですが?? 下記のマクロは参考に載せましたが、あてになりません どうにか解決したいのでよろしくお願いします このカ所が黄色になっていました ChDir "C:\Documents and Settings\USR81043\デスクトップ" Sub Win2000でシートのコピーをデスクトップに外部出力() ' ' Win2000でシートのコピーをデスクトップに外部出力 Macro ' マクロ記録日 : 2002/6/17 ユーザー名 : USR81043 ' ' 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 "C:\Documents and Settings\USR81043\デスクトップ" ActiveWorkbook.SaveAs FileName:= _ "C:\Documents and Settings\USR81043\デスクトップ\協力業者評価報告書1.xls", FileFormat:= _ xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _ , CreateBackup:=False End Sub
- 71063
- お礼率62% (94/150)
- オフィス系ソフト
- 回答数3
- ありがとう数1
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
何をした時にエラーになりますか? このWebブラウザからコードを丸ごとコピーすると、ここの掲示板によって自動的に改行されてしまった部分が構文エラーになり、赤く表示されます。 「 _」(スペース+アンダーバー)は長くなりすぎる1行コードを途中で区切るための文字です。 Selection.PasteSpecial Paste:=xlValues, _ Operation:=xlNone, _ SkipBlanks:= False, _ Transpose:=False この「1行」に関しましては元の質問文のままお使いください。
その他の回答 (2)
大変失礼しました。 Set wshShell As Object これを Set WshShell = CreateObject("WScript.Shell") このように変更してください(^_^;; これでイケるはずです。
補足
度々すいません もう少し、申し訳ありませんが教えてください ご指摘の変更箇所を下記に入れてみましたが、「コンバイルエラー;構文エラー」がまた出て ・この箇所が赤字 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 ・ ・ ・ 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
関連するQ&A
- エクセル2000でシートを外部出力するとエラー
マクロのことはまだ初心者で、下記のようなマクロの記録を作成してみたのですが、実行すると2000ではユーザーが変わるとエラー表示が出てしまって、困っています ユーザー名は私の会社のイントラネットのユーザー番号です シートは関数も入っているので、コピー+値にしデスクトップに外部出力する方法にしています このカ所が黄色になっていました ChDir "C:\Documents and Settings\USR81043\デスクトップ" Sub エクセル2000でシートのコピーをデスクトップに外部出力() ' ' エクセル2000でシートのコピーをデスクトップに外部出力 Macro ' マクロ記録日 : 2002/6/17 ユーザー名 : USR81043 ' ' 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 "C:\Documents and Settings\USR81043\デスクトップ" ActiveWorkbook.SaveAs FileName:= _ "C:\Documents and Settings\USR81043\デスクトップ\報告書1.xls", FileFormat:= _ xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _ , CreateBackup:=False End Sub
- ベストアンサー
- オフィス系ソフト
- VBマクロで教えて下さい。
下記VBマクロで上書きしない時はマクロを終了させたいのですがこ指導をお願いします。 Sub Macro2() ' Macro2 Macro ' マクロ記録日 : 2012/9/3 ユーザー名 : HA社 ChDir "C:\Documents and Settings\6464552\デスクトップ" ActiveWorkbook.SaveAs Filename:= _ "C:\Documents and Settings\6464552\デスクトップ\直送先部品出庫伝票.xls", FileFormat:= _ xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _ , CreateBackup:=False Range("D42:E49").Select Selection.ClearContents Range("I32:J32").Select Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False ActiveWorkbook.SaveAs Filename:= _ "C:\Documents and Settings\6464552\デスクトップ\PPSC部品出庫伝票.xls", FileFormat:= _ xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _ , CreateBackup:=False Application.Quit End Sub
- ベストアンサー
- Visual Basic
- ファイルの保存先を任意にしたい(マクロ)
エクセルのマクロです。 マクロを実行した時に、保存先とファイル名は任意に入力して(その部分だけは、マクロ実行者が入力して)、その後もマクロを実行させたいのですがどうすれば良いのでしょうか? たとえば、 ActiveCell.FormulaR1C1 = "1" Range("B1").Select ChDir "C:\Documents and Settings\a\デスクトップ" ActiveWorkbook.SaveAs Filename:= _ "C:\Documents and Settings\a\デスクトップ\ Book1.xls", FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False Range("A2").Select ActiveCell.FormulaR1C1 = "2" Range("B2").Select ActiveWorkbook.SaveAs Filename:= _ "C:\Documents and Settings\a\デスクトップ\ Book2.xls", FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False Range("A3").Select ActiveCell.FormulaR1C1 = "3" Range("B3").Select ActiveWorkbook.SaveAs Filename:= _ "C:\Documents and Settings\a\デスクトップ\ Book3.xls", FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False Range("A4").Select ActiveCell.FormulaR1C1 = "4" Range("B4").Select 上記の場合は、保存先もファイル名もこちらが指定していますが、その部分だけは、マクロの実行者に任意指定及び入力させたいのです。 マクロ初心者なので、よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- excel2000マクロでのダイアログ表示での実行
下記のマクロを実行させると、 ActiveWorkbook.SaveAs Filename:= の所で保存しますか というダイアログが表示されて、はい又はいいえを押さないと次のマクロが実行されないのですが、ダイアログを表示させないで、はいを押したと自動認識して次のマクロを走らせる方法はありますか? ChDir "C:\Documents and Settings\kenkan\デスクトップ\DB\SYSTEM\Inner_System" Workbooks.Open Filename:= _ "C:\Documents and Settings\kenkan\デスクトップ\DB\SYSTEM\Inner_System\一時出力データ.csv" ' その他の疾患を抽出 Columns("H:H").Select Selection.Copy Workbooks.Add ActiveSheet.Paste Cells.Replace What:="", Replacement:=" ", LookAt:=xlPart, SearchOrder _ :=xlByRows, MatchCase:=False Application.CutCopyMode = False ActiveWorkbook.SaveAs Filename:= _ "C:\Documents and Settings\kenkan\デスクトップ\DB\SYSTEM\Inner_System\一時出力_その他の疾患.txt" _ , FileFormat:=xlText, CreateBackup:=False ActiveWindow.Close
- ベストアンサー
- Visual Basic
- エクセルのマクロでテキストを生成すると日付の表示書式が変わってしまう
エクセルのシートをマクロを実行してテキストファイルを生成します。 マクロの記述は以下の通りです。 保存 ChDir "C:\Documents and Settings\All Users\デスクトップ" ActiveWorkbook.SaveAs Filename:= _ "C:\Documents and Settings\All Users\デスクトップ\YA-SWK.txt", FileFormat:= _ xlCSV, CreateBackup:=False '終了 Application.Quit End Sub 元データのエクセルのシートに「2006/9/1」と入力されているセルがあるのですが、マクロを実行して生成されたテキストファイルでは「9/1/2006」と日付の表示順序が変わってしまいました。 この原因は何であるのかつかめません。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルのマクロで、他のブックを開くときについて
マクロの記録を利用して、他のブックを開くことをしました。 マクロのモジュールを見たら、 ChDir "C:\Documents and Settings\*****\デスクトップ" Workbooks.Open Filename:="C:\Documents and Settings\*****\デスクトップ\○○.xls" となっていました。 1行目の「Chdir」というのはなんでしょう? また、2行目では開きたいブックをパスを使ってあらわしています。 今マクロを動かしているブックと同じフォルダ内にあるブックや そのフォルダから見て上位のフォルダとか、「c:」から始まる パスを使わないような書き方はあるのでしょうか? ご助言お願いします。
- ベストアンサー
- オフィス系ソフト
- 統合マクロでパスの取得方法
お世話になります。 集計ファイルでエリア・商品で集計をとっています。 一つのファイルにまとめたいのでエリアをシート名による串刺し 商品を統合を使って集計していますが 毎回統合ボタンを押すのが大変で マクロを使い下記のコードを使っていますがファイルのパスで固定されているので 人に渡すとファイル名の変更、ユーザーの違いによりエラーになってしまいます。 現在開いているファイルの名前とパスをマクロに取り込み統合させる事は可能でしょうか Sub Macro1() ' ' Macro1 Macro ' マクロ記録日 : 2009/9/29 ユーザー名 : user ' ' Sheets("一般A").Select Range("b6").Select Selection.Consolidate Sources:=Array( _ "'C:\Documents and Settings\user\デスクトップ\[8期資料.xls]〇〇一般A'!R6C2:R64C9", _ "'C:\Documents and Settings\user\デスクトップ\[8期資料.xls]□□一般A'!R6C2:R64C9", _ "'C:\Documents and Settings\user\デスクトップ\[8期資料.xls]△△一般A'!R6C2:R64C9", _ "'C:\Documents and Settings\user\デスクトップ\[8期資料.xls]××一般A'!R6C2:R64C9", _ "'C:\Documents and Settings\user\デスクトップ\[8期資料.xls]●●一般A'!R6C2:R64C9", _ "'C:\Documents and Settings\user\デスクトップ\[8期資料.xls]■■一般A'!R6C2:R64C9", _ "'C:\Documents and Settings\user\デスクトップ\[8期資料.xls]▲▲一般A'!R6C2:R64C9", _ "'C:\Documents and Settings\user\デスクトップ\[8期資料.xls]++一般A'!R6C2:R64C9", _ "'C:\Documents and Settings\user\デスクトップ\[8期資料.xls]※※一般A'!R6C2:R64C9", _ "'C:\Documents and Settings\user\デスクトップ\[8期資料.xls]%%一般A'!R6C2:R64C9"), _ Function:=xlSum, TopRow:=False, LeftColumn:=False, CreateLinks:=False Sheets("一般B").Select Range("b6").Select Selection.Consolidate Sources:=Array( _ "'C:\Documents and Settings\user\デスクトップ\[8期資料.xls]〇〇一般B'!R6C2:R64C9", _ "'C:\Documents and Settings\user\デスクトップ\[8期資料.xls]□□一般B'!R6C2:R64C9", _ "'C:\Documents and Settings\user\デスクトップ\[8期資料.xls]△△一般B'!R6C2:R64C9", _ ・ ・ ・ ・ End Sub DIMとかActiveWorkbook.Pathとか組み込みましたが うまく行かないです。 どうぞ助けてください。
- ベストアンサー
- Visual Basic
- ExcelInputBoxの文字をファイル名にする
こんにちは。 Excel2007を使用しています。 マクロであらかじめ読み込んだファイルに、InputBoxに日付を入力して "20120723_Summary.xlsx"のように名前をつけたいのですが、 InputBoxに入力した文字をActiveWorkbookに渡す部分が書けません Dim NewName As String NewName = InputBox("名前を入力","","_Summary") 'ここで20120723_Summaryと入力する ChDir "C:\Documents and Settings\$user$\デスクトップ" ActiveWorkbook.SaveAs Filename:= _ "C:\Documents and Settings\$user$\デスクトップ\20120723_Summary.xlsx", FileFormat:= _ xlOpenXMLWorkbook, CreateBackup:=False デスクトップに20120723_Summary.xlsxが作成される この部分の書き方がおわかりの方お教えください。 よろしくお願いいたします。
- ベストアンサー
- その他MS Office製品
- Excel - セルの値を外部シート名として認識させる
お世話になります。 例えばデスクトップに置いてあるブックのセルを、別のブックのセルに引っ張るとき。 ='C:\Documents and Settings\UserName\デスクトップ\[Book1.xls]Sheet1'!A1 という風になりますが。 例えばBook2のセルA1に【Book3】、A2に【Sheet5】とあってこれらが可変であるとき、セルA3に ='C:\Documents and Settings\UserName\デスクトップ\[Book3.xls]Sheet5'!A1 の値を引っ張ろうと思ったら、それは可能でしょうか。 【Book3】、【Sheet5】はそれぞれユーザが任意に入力すると、テーブルの値が変わる、という風にしたいわけですが。
- ベストアンサー
- オフィス系ソフト
- パソコンが変わってもマクロが実行できるようにしたい
windowsXP Excel2000でマクロ作成しました。 私は 6)の aaaa のパソコンを使っています。 これをUSBメモリで他のパソコンに複写し使おうとすると当然エラーがでます。 そのパソコンに 6)ChDir "C:\Documents and Settings\bbbb\デスクトップ\請求書フォルダ" '変更する。 とすればこのマクロが使えます。 パソコンが変わってもこのマクロが使えるようにしたいのですがどうすればよろしいでしょうか。 今はいちいち6)のaaaa、 bbbb部分を変更して使っています。 Sub ブック名に現在の日付を付加して保存() 1)Application.DisplayAlerts = False 2)Dim Filename As String 3)Application.DisplayAlerts = False 4)ChDrive ThisWorkbook.Path 'ブックのドライブに変更する。 5)ChDir ThisWorkbook.Path 'ブックのフォルダに変更する。 6)ChDir "C:\Documents and Settings\aaaa\デスクトップ\請求書フォルダ" '変更する。 7)Filename = Format(Date, "yyyymmdd") 8)On Error Resume Next 9)ActiveWorkbook.SaveAs Filename:="請求" & Filename & ".xls" 10)Err.Clear 11)Application.Quit 12)End Sub
- ベストアンサー
- オフィス系ソフト
お礼
出来ました すごいですね 大変ありがとうございました 今後ともよろしくお願いします