• 締切済み

他のPCでも保存できるパス

エクセルシート1~5のうち 5シート(シート名:一覧)だけを保存したいので マクロを作りました。 Sub 一覧保存() ' ' 一覧保存 Macro ' ' Sheets("一覧").Select Sheets("一覧").Copy ActiveWorkbook.SaveAs Filename:="C:\Users\●●●\Desktop\データー\一覧.xlsm" _ , FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False End Sub これを使って自分のPCでは保存出来るのですが 他のPCに持って行くと●●●(PC名)部分が違うので保存が出来ません。 これを他のPCでも使えるように書き換えたいのです。 マクロボタンでどのPCにも対応できるマクロを書きたいのですが。。 あと保存名を同時に自動でカウント?(日付や連番など)できるようにするにはどうすればいいでしょうか。 よろしくお願いします。

みんなの回答

  • aleister
  • ベストアンサー率31% (11/35)
回答No.1

Dim MyWSH As Object Dim myDeskTopPath As String Set MyWSH = CreateObject("WScript.Shell") myDeskTopPath = MyWSH.SpecialFolders("Desktop") これでデスクトップのパスを取得できませんか?

kurumin963
質問者

お礼

早速の回答ありがとうございます。 設置場所が悪いのかどうしてもパスがとれませんでした。

関連するQ&A

  • VBA SaveAsでワークシートの指定する時

    以下は自動マクロで作成したものをちょっと変えたものです。 Sub Macro1() Sheets(1).Select Sheets(1).Copy ChDir "C:\" ActiveWorkbook.SaveAs Filename:="C:\Book2.xlsx", _ FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False Windows("Book2.xlsx").Activate ActiveWindow.Close End Sub 内容: 一番左のシートのみBook2.xlsxに保存する 疑問点: シートをコピーした後、SaveAsコマンドで保存する際に「コピーしたシートのみ保存する」ような記述が見られないことです。SaveAs自体が、コピーされたシートのみ保存すること前提のメソッドなのでしょうか? ちなみに、Sheets(1).Copyを削除するとブック全体を保存します。

  • CSV保存マクロ 日付が逆になり困っています。

    マクロに詳しい方、お願いいたします。 エクセルのシートで2018/1/21とセルに記載したものを 下記マクロ(標準モジュールにコード記載)して、CSVで保存しています。 実行後CSVを開くと、21/1/2018になって逆になります。 調べてもわかりません。よろしくお願いします。 Sub Macro1() Application.DisplayAlerts = False main_f = ActiveWindow.Caption out_pass = ActiveWorkbook.Path & "\" Out_name = ActiveSheet.Name Sheets(Out_name).Select Sheets(Out_name).Copy ActiveWorkbook.SaveAs Filename:= _ out_pass & Out_name & ".csv", _ FileFormat:=xlCSV, CreateBackup:=False ActiveWindow.Close Application.DisplayAlerts = True End Sub

  • ファイルの保存先のパス

    マクロでデスクトップに保存させたいのですが、 ActiveWorkbook.SaveAs Filename:= _ "D:\Documents and Settings\●●●\デスクトップ\Book1.xls", FileFormat:=xlNormal _ , Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False の●●●のように、私のユーザー名が入ります。 このファイルは色々な人に使ってもらいたいので、 LOCALみたいな意味合いの言葉を入れたいのですが、 なんと入れたら良いでしょうか? ご存知の方いらっしゃいましたら宜しくお願いします。

  • マクロ 実行時エラーに付いて

    マクロ初心者です宜しくお願い致します。 OS=Win Vista    Office2007 で下記のようなマクロを組みました。 Sub 保存() '保存 Macro ' Keyboard Shortcut: Ctrl+h ' Dim Uname As String   Uname = CreateObject("WScript.Network").UserName ActiveWorkbook.SaveAs Filename:="C:\Users\" & Uname & "\Desktop\" & Format (Date, "yyyy") & "年度.xlsm", _ FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False End Sub Office2007 の元(マクロ作成PC)で動作確認すると OK でした が  OS=XP Sp3 Office2003 の 別のPCで動かすと ”実行時エラー’1004’: ’SaveAs’メソッドは失敗しました’Workboo’オブジェクト” と表示され下記の部分が黄色で反転されます。 ActiveWorkbook.SaveAs Filename:="C:\Users\" & Uname & "\Desktop\" & Format (Date, "yyyy") & "年度.xlsm", _ FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False 表記方法の問題なのか、変数? 対応できなく困っています。 対処方法をお教え頂ければと思います、宜しくお願い致します。

  • エクセルでのhtm保存

    エクセルでマクロでhtm保存するようにしています。 保存したときにアクティブだったシートで保存されず、 勝手にsheet1が選択されて保存されてしまいます。 保存の際になにか設定があるのでしょうか。 保存した際のアクティブなシートが選択された状態で保存がしたいです。 皆さんお願いいたします。 office 2003 XP マクロ部分(シートを選択するプログラムはありません) ActiveWorkbook.SaveAs Filename:= _ "\\サーバー\OK.htm", _ FileFormat:=xlHtml, ReadOnlyRecommended:=False, CreateBackup:=False

  • (VBA)書式が変更されてしまいます

    ↓SaveAsで保存すると書式が変更されてしまいます。 ActiveWorkbook.SaveAs FileFormat:=xlCSV, _ CreateBackup:=False ActiveWorkbook.Close False ネットで↓の回避策を見つけたのですがうまくいきません。 **************************************************************** Sub CSV_Save() 'Sheet1をCSV形式で保存します。 With ActiveWorkbook.Sheets(1) 'A1:A10まで日付あるいは通貨設定のデータが入っているとします。 For Each rng In Range("A1:A10") 'テキスト文字列に変更します。 rng.Value = "'" & rng.Text Next rng End With ActiveWorkbook.SaveAs FileName:="C:\test.csv", FileFormat:=xlCSV End Sub **************************************************************** ご指導お願いします。

  • エクセルVBAでファイルをCSV保存の仕方

    エクセルのシートをCSVファイルに保存するため以下のようなマクロを書きました。 Sub Macro1() Cells.Select Selection.Copy Workbooks.Add ActiveSheet.Paste Application.CutCopyMode = False ActiveWorkbook.SaveAs FileName:="C:\WINDOWS\デスクトップ\Book1.csv", FileFormat _ :=xlCSV, CreateBackup:=False ActiveWindow.Close ThisWorkbook.Activate End Sub 一応これで保存できるのですが、自動記録でやったためファイルの名前が出てしまいました。 この部分をわたし以外の誰でも任意の名前をつけ、任意のフォルダーに保存できるように書き換えたいのです。 どのように記述すれば良いかお教えください。お願いします。

  • Excelで新規保存の名称をセルの内容にする

    Excelのマクロで下記のようなものを作りました。 Sub 自動保存() ' ' 自動保存のマクロ ' マクロ記録日 : 2008/8/10 ユーザー名 : user ' ' Sheets("ワークエリア").Select ActiveWorkbook.Unprotect Sheets("ワークエリア").Select Sheets("ワークエリア").Copy Windows("部品表.xls").Activate Sheets("計算").Select Range("B4").Select Selection.Copy Windows("Book1").Activate ActiveWindow.SmallScroll Down:=-27 ActiveWorkbook.SaveAs Filename:="D:\user folder\平成20年8月11日.xls", FileFormat _ :=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _ False, CreateBackup:=False ActiveWindow.Close End Sub ・「部品表」というファイルの「ワークエリア」と言うシートを新規のファイルとして保存したい。 ・保存名は「計算」というシートにあるB4のセルの内容にしたい。 (today()関数を使った当日の日付をファイル名にしたい) ・いろいろ試したけどファイル名が変数にならず固定されてしまう。 (最初に入れた日付がファイル名になってしまい翌日以降がうまくいかない) どうすればいいのでしょうか?わかる方ご指導下さい。

  • エクセルマクロ初心者です。教えてください。

    エクセルマクロ初心者です。 仕事で使うエクセルにマクロを本をまねたりウェブで調べたりして見よう見まねで組んでみました。 稟議書ナンバー(L1)をファイル名として別フォルダに保存してそのまま閉じるマクロを作成できたのですが、別フォルダに保存したときに一緒にマクロも保存されてしまいます。 マクロは保存せずに別フォルダに稟議書シートのみ保存したいのですがどのようにすればよいのでしょうか。 以下がファイル保存のマクロです。 Sub booksave() ' ' booksave Macro ' マクロ記録日 : 2009/3/30 ユーザー名 : ' ' Dim myFileName As String '稟議No. myFileName = Range("l1").Value '稟議No.を変数に取得する ChDir "F:\稟議書" Sheets("表").Copy ChDir "F:\稟議書\稟議書保存" ActiveWorkbook.SaveAs Filename:="F:\稟議書\稟議書保存\" & myFileName & ".xls", FileFormat:= _ xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _ , CreateBackup:=False ActiveWorkbook.Close End Sub どうぞよろしくお願いいたします。

  • マクロが思い通りに動きません

    エクセルでマクロを使いボタンを 作りました。ボタンを押すとHDDとDVDに保存される仕組みになっています Sub DVD() ChDir "E:\" ActiveWorkbook.SaveAs Filename:=Format(Now, "yyyy-mm-dd(hh時mm分ss秒)"), FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False End Sub Sub HDD() ActiveWorkbook.SaveAs Filename:= _ "C:\Documents and Settings\***\デスクトップ\ファイル名.xls", FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False End Sub これだとDVDへ保存が上手くいきません。DVDからエクセルを開いて使えば問題ないのですが、デスクトップから開くと日付入りのデータがデスクトップに保存されてしまいます。 どうやって書き換えたらいいでしょうか

専門家に質問してみよう