
私が自宅のPCで作成したExcelファイルを職場で他の人も使用します。自宅のパソコンでは問題なく動作していますが職場のPCではファイルの保存先がonedriveの個々にドキュメントフォルダに保存されてしまいます。以下の内容ですとエラーになってしまうと思われます。
どのように変更すれば良いのでしょうか。
Sub ●●()
' ●● Macro
' Workbooks("Book1.xlsx").Close savechanges:=False
Dim FilePath As String
FilePath = "C:\Users\non\OneDrive\ドキュメント"
Workbooks.Open FilePath & "\Book1.xlsx"
Workbooks("Book1.xlsx").Sheets(1).Range("A1:L60").Copy _
Workbooks("Book2.xlsm").Worksheets("sheet1").Range("A1")
Workbooks("Book1.xlsx").Close savechanges:=False
宜しくお願いします。
No.1ベストアンサー
- 回答日時:
こんばんは
どのように設定したいのか、ご質問文からは読み取れませんので、起こっている事象の説明のみになります。
>職場のPCではファイルの保存先がonedriveの個々にドキュメントフォルダ
>に保存されてしまいます。
ご提示のマクロでは「保存」の処理はしていません。
開くように指定したOneDriveのファイルを、そのまま閉じる処理かしていないので、
「保存されてしまいます。」というようなことはないはずです。
開くファイルのディレクトリとしては、
>FilePath = "C:\Users\non\OneDrive\ドキュメント"
として、個人のOneDriveを指定しています。
ただし、上記の「non」部分は個人のユーザー名なので、(会社のPC管理にもよりますが)通常は個人によって異なっているはずです。
他の人のPCには「non」というユーザが登録されているとは限りませんし、仮に存在したとしても、通常は別ユーザなので、アクセスできないようになっているはずと想像します。
また、質問者様の個人ユースのPCと職場のPCでも同じとは限りません。
もしも、開くファイルを共通で利用するという意味であるなら、各人がアクセス可能なファイルサーバ等にファイルを置いて、指定ディレクトリを固定でそちらのパスにしておけば宜しいのではないでしょうか?
早々の回答ありがとうございます。
当方ど素人のため説明が足らずすみません。
開くファイル自体は共通で使用はしないのですが開いたファイルの一部をコピーして貼り付けるファイルは共有します。
職場の労務管理ソフトから出力されたExcelファイルが自動的に各個人のワンドライブ内のドキュメントに保存されます。それをその場所のまま開いてコピペしたいのです。
伝わりますでしょうか。
No.3
- 回答日時:
横から失礼します
CreateObject("WScript.Shell").SpecialFoldersは
ログインユーザーの特殊フォルダーのフルパスが取得できるので
ドキュメントフォルダであれば
Dim wsh As Object
Set wsh = CreateObject("WScript.Shell")
FilePath = wsh.SpecialFolders("MyDocuments")
Set wsh = Nothing
で ローカルにOneDrive - Personalなどを設定していればOneDriveを含め取得できると思います
No.2
- 回答日時:
No1です。
>Excelファイルが自動的に各個人のワンドライブ内のドキュメントに保存されます。
>それをその場所のまま開いてコピペしたいのです。
開くファイルのパス指定が、個人ごとに異なるので、それを指定したいということと解釈しました。
例えば、以下で各ユーザごとのデスクトップへのパスを取得できますので、そのパスの「Desktop」部分を「OneDrive\ドキュメント」に置き換えて使用するようになされば良いでしょう。
最後の7文字を削除して、追加しても良いですね。
(置換えなら、Replaceメソッド等で)
https://yaromai.jp/desktop-folderpath/
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
VBA 新規ファイルを元ファイルと同じ場所に保存する方法
Excel(エクセル)
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
-
4
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
5
保存先のパスを変数に格納して使用する方法
Visual Basic(VBA)
-
6
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
-
7
エクセルVBA Workbook変数に変数を使ったファイル名を格納したい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelでCSV形式保存時の確認メ...
-
ZIPファイル内のファイルを...
-
エクセルのCSVファイルで電話帳...
-
txt ファイル (テキストフ...
-
DVDstylerへの書き込み失敗につ...
-
拡張子tmpファイルを開く方法
-
エクセルでファイルを早く開く...
-
複数あるテキストボックス中の...
-
開いているファイルをリネーム...
-
wordの「docx」ファイルを「tex...
-
エクセルのファイル名が「開く...
-
EXCELでのCSVファイル...
-
PCで音楽ファイルを探す方法
-
クライアントは要求された特権...
-
文書内の表が破損しています、...
-
EXCEL、上書き保存したは...
-
何故かエクセル終了時に「変更...
-
PCの起動速度
-
CSV出力に関して
-
ワードファイルの上部にオレン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ZIPファイル内のファイルを...
-
Excelで勝手に保存画面に飛びま...
-
拡張子のないファイルの作成
-
拡張子tmpファイルを開く方法
-
DVDstylerへの書き込み失敗につ...
-
PUBファイルをパブリッシャー以...
-
EXCEL、上書き保存したは...
-
開いているファイルをリネーム...
-
txt ファイル (テキストフ...
-
文書内の表が破損しています、...
-
エクセルのファイル名が「開く...
-
共有フォルダの件
-
Lファイルという画像をマイピク...
-
VBAファイルの保存先について
-
auのスマフォでPDFを見るには・...
-
複数あるテキストボックス中の...
-
エクセルのCSVファイルで電話帳...
-
【Access】テーブルをエクスポ...
-
ExcelでCSV形式保存時の確認メ...
-
閲覧したwebページの画像が自動...
おすすめ情報