プロが教える店舗&オフィスのセキュリティ対策術

私が自宅の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

宜しくお願いします。

A 回答 (3件)

こんばんは



どのように設定したいのか、ご質問文からは読み取れませんので、起こっている事象の説明のみになります。

>職場のPCではファイルの保存先がonedriveの個々にドキュメントフォルダ
>に保存されてしまいます。
ご提示のマクロでは「保存」の処理はしていません。
開くように指定したOneDriveのファイルを、そのまま閉じる処理かしていないので、
「保存されてしまいます。」というようなことはないはずです。

開くファイルのディレクトリとしては、
>FilePath = "C:\Users\non\OneDrive\ドキュメント"
として、個人のOneDriveを指定しています。
ただし、上記の「non」部分は個人のユーザー名なので、(会社のPC管理にもよりますが)通常は個人によって異なっているはずです。
他の人のPCには「non」というユーザが登録されているとは限りませんし、仮に存在したとしても、通常は別ユーザなので、アクセスできないようになっているはずと想像します。
また、質問者様の個人ユースのPCと職場のPCでも同じとは限りません。

もしも、開くファイルを共通で利用するという意味であるなら、各人がアクセス可能なファイルサーバ等にファイルを置いて、指定ディレクトリを固定でそちらのパスにしておけば宜しいのではないでしょうか?
    • good
    • 0
この回答へのお礼

早々の回答ありがとうございます。
当方ど素人のため説明が足らずすみません。
開くファイル自体は共通で使用はしないのですが開いたファイルの一部をコピーして貼り付けるファイルは共有します。
職場の労務管理ソフトから出力されたExcelファイルが自動的に各個人のワンドライブ内のドキュメントに保存されます。それをその場所のまま開いてコピペしたいのです。
伝わりますでしょうか。

お礼日時:2023/11/28 23:11

横から失礼します


CreateObject("WScript.Shell").SpecialFoldersは
ログインユーザーの特殊フォルダーのフルパスが取得できるので

ドキュメントフォルダであれば
Dim wsh As Object
Set wsh = CreateObject("WScript.Shell")
FilePath = wsh.SpecialFolders("MyDocuments")
Set wsh = Nothing

で ローカルにOneDrive - Personalなどを設定していればOneDriveを含め取得できると思います
    • good
    • 0
この回答へのお礼

ありがとうございます。
うまくいきませんでした。

お礼日時:2023/12/05 21:50

No1です。



>Excelファイルが自動的に各個人のワンドライブ内のドキュメントに保存されます。
>それをその場所のまま開いてコピペしたいのです。
開くファイルのパス指定が、個人ごとに異なるので、それを指定したいということと解釈しました。

例えば、以下で各ユーザごとのデスクトップへのパスを取得できますので、そのパスの「Desktop」部分を「OneDrive\ドキュメント」に置き換えて使用するようになされば良いでしょう。
最後の7文字を削除して、追加しても良いですね。
(置換えなら、Replaceメソッド等で)
https://yaromai.jp/desktop-folderpath/
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2023/12/05 20:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A