Excel VBA 質問スレッド №344 (未解決)
VBAでSharePointにファイルをアップロードする方法
投稿者 : F@NKS 投稿日時 : 2021/08/10(Tue) 16:10:29 OS : 未指定 EXCEL : 未指定
下記のコードで実行しても
実行時エラー52「ファイル名または番号が不正です」
となります。
この方法でなくても良いので
VBAでSharePointにファイルをアップロードする方法があれば教えて下さい
下記のコードで実行しても
実行時エラー52「ファイル名または番号が不正です」
となります。
この方法でなくても良いので
VBAでSharePointにファイルをアップロードする方法があれば教えて下さい
Sub SaveAtSharepoint() Dim url As String '保存先のシェアポイントのURL Dim conv_url As String 'シェアポイントのURLをフォルダ名に変換した文字列。フルパスなのでファイル名まで。 Dim local_full_path As String 'シェアポイントに保存したいデータのフルパス Dim fso As Object 'FileSystemObjectのインスタンス化 '>初期設定 url = "シェアポイント上のURL" & "ファイル名.xlsx" local_full_path = "アップロードしたいファイルのフルパス" '<初期設定 Set fso = CreateObject("Scripting.FileSystemObject") 'インスタンス生成 conv_url = ConvertDirectoryPath(url) If fso.FileExists(local_full_path) Then fso.CopyFile local_full_path, conv_url End If Set fso = Nothing End Sub Function ConvertDirectoryPath(path) As String 'このプロシジャはシェアポイントのURLをドキュメントライブラリのディレクトリパスに変換する ConvertDirectoryPath = Replace(path, " ", "%20") ConvertDirectoryPath = Replace(ConvertDirectoryPath, "/", "\") ConvertDirectoryPath = Replace(ConvertDirectoryPath, "http:", "") End Function
スポンサーリンク
[返信 1] Re : VBAでSharePointにファイルをアップロードする方法
投稿者 : ハヤシライス 投稿日時 : 2021/08/10(Tue) 16:31:01
実際に試したコードを掲載されたほうがよいかと。
以下の部分はどうなっていますか?
url = "シェアポイント上のURL" & "ファイル名.xlsx"
local_full_path = "アップロードしたいファイルのフルパス"
実際に試したコードを掲載されたほうがよいかと。
以下の部分はどうなっていますか?
url = "シェアポイント上のURL" & "ファイル名.xlsx"
local_full_path = "アップロードしたいファイルのフルパス"
[返信 2] Re : VBAでSharePointにファイルをアップロードする方法
投稿者 : F@NKS 投稿日時 : 2021/08/11(Wed) 08:18:17
■[返信 1] ハヤシライスさん(2021-08-10 16:31:01)の記事
> 実際に試したコードを掲載されたほうがよいかと。
> 以下の部分はどうなっていますか?
>
> url = "シェアポイント上のURL" & "ファイル名.xlsx"
> local_full_path = "アップロードしたいファイルのフルパス"
下記のようになっています。
シェアポ、ローカルともにアクセスできますので、アドレスには問題ないかと・・・
url = "https://xxxxxxx.sharepoint.com/sites/xxxxx/xxxxx/xxxxx/xxxxx/xxxxx/2020年度/202101/" & "TEST.xlsx"
local_full_path = "C:\Users\xxxxxxxx\Downloads\TEST.xlsx"
■[返信 1] ハヤシライスさん(2021-08-10 16:31:01)の記事
> 実際に試したコードを掲載されたほうがよいかと。
> 以下の部分はどうなっていますか?
>
> url = "シェアポイント上のURL" & "ファイル名.xlsx"
> local_full_path = "アップロードしたいファイルのフルパス"
下記のようになっています。
シェアポ、ローカルともにアクセスできますので、アドレスには問題ないかと・・・
url = "https://xxxxxxx.sharepoint.com/sites/xxxxx/xxxxx/xxxxx/xxxxx/xxxxx/2020年度/202101/" & "TEST.xlsx"
local_full_path = "C:\Users\xxxxxxxx\Downloads\TEST.xlsx"
[返信 3] Re : VBAでSharePointにファイルをアップロードする方法
投稿者 : ハヤシライス 投稿日時 : 2021/08/11(Wed) 08:58:42
動作検証できる状況でないので、推測ですが。
以下の部分で、SharePointのアドレスを書き換えていますよね。
conv_url = ConvertDirectoryPath(url)
で、「ConvertDirectoryPath」プロシージャを見ると、以下の記述があります。
ConvertDirectoryPath = Replace(ConvertDirectoryPath, "http:", "")
これは、「http:」を「""」に置換する処理ですが、頂いたコードでは、SharePointのアドレスが、「https://xxxxxxx・・・」と「https:」から始まっています。
なので、この置換処理がうまく言っていないのでは?
動作検証できる状況でないので、推測ですが。
以下の部分で、SharePointのアドレスを書き換えていますよね。
conv_url = ConvertDirectoryPath(url)
で、「ConvertDirectoryPath」プロシージャを見ると、以下の記述があります。
ConvertDirectoryPath = Replace(ConvertDirectoryPath, "http:", "")
これは、「http:」を「""」に置換する処理ですが、頂いたコードでは、SharePointのアドレスが、「https://xxxxxxx・・・」と「https:」から始まっています。
なので、この置換処理がうまく言っていないのでは?
[返信 4] Re : VBAでSharePointにファイルをアップロードする方法
投稿者 : F@NKS 投稿日時 : 2021/08/17(Tue) 11:08:32
■[返信 3] ハヤシライスさん(2021-08-11 08:58:42)の記事
> 動作検証できる状況でないので、推測ですが。
>
> 以下の部分で、SharePointのアドレスを書き換えていますよね。
>
> conv_url = ConvertDirectoryPath(url)
>
> で、「ConvertDirectoryPath」プロシージャを見ると、以下の記述があります。
>
> ConvertDirectoryPath = Replace(ConvertDirectoryPath, "http:", "")
>
> これは、「http:」を「""」に置換する処理ですが、頂いたコードでは、SharePointのアドレスが、「https://xxxxxxx・・・」と「https:」から始まっています。
> なので、この置換処理がうまく言っていないのでは?
確かに違ってますねhttp:をhttps:に変えてみたところ
実行時エラー52「ファイル名または番号が不正です」
から
パスが見つかりませんにエラーが変わりました。
パスに原因があると思うのですが、"/"を"\"にしただけではパスとし認識できない?
■[返信 3] ハヤシライスさん(2021-08-11 08:58:42)の記事
> 動作検証できる状況でないので、推測ですが。
>
> 以下の部分で、SharePointのアドレスを書き換えていますよね。
>
> conv_url = ConvertDirectoryPath(url)
>
> で、「ConvertDirectoryPath」プロシージャを見ると、以下の記述があります。
>
> ConvertDirectoryPath = Replace(ConvertDirectoryPath, "http:", "")
>
> これは、「http:」を「""」に置換する処理ですが、頂いたコードでは、SharePointのアドレスが、「https://xxxxxxx・・・」と「https:」から始まっています。
> なので、この置換処理がうまく言っていないのでは?
確かに違ってますねhttp:をhttps:に変えてみたところ
実行時エラー52「ファイル名または番号が不正です」
から
パスが見つかりませんにエラーが変わりました。
パスに原因があると思うのですが、"/"を"\"にしただけではパスとし認識できない?
[返信 5] Re : VBAでSharePointにファイルをアップロードする方法
投稿者 : るぽ 投稿日時 : 2024/04/09(Tue) 17:54:04
投稿者 様
大分経過していますが、全く同じ現象(SharePointのリストに追加しようとしています。httpsで始まるページです)でエラーになり悩んでいます。
もしこの問題が解決されていたのであれば、解決方法を教えて頂けると助かります。
投稿者 様
大分経過していますが、全く同じ現象(SharePointのリストに追加しようとしています。httpsで始まるページです)でエラーになり悩んでいます。
もしこの問題が解決されていたのであれば、解決方法を教えて頂けると助かります。
当掲示板について
- Excel VBA に関する掲示板です。Excel VBA に関する質問や疑問、それに対する解決方法など気軽に投稿してください。
- 記事内ではHTMLのタグは使用できません。
- 記事は一度投稿すると修正できません。内容を訂正したい場合は返信で対応してください。
- Sub〜End Sub、Function〜End Function は自動的にプログラムコードとみなし、枠で囲って見やすくします。
- Excel VBA とは関係ないことや、他人が不快に思うようなことなど、管理人が適当でないと判断した記事は削除する場合があります。
スポンサーリンク
返信入力フォーム
( 処理日時 : 2025-09-18 03:50:42 )