2025-08-20 【GPT-5】VBAでHTTPリクエストを作成し、WebDAV対応サーバー上にフォルダを作成する方法 もちろんです!VBAでHTTPリクエストを使ってWebDAV対応サーバー上にフォルダを作成するには、MSXML2.XMLHTTPやWinHTTP.WinHTTPRequestを使い、HTTPのMKCOLメソッドを送信します。MKCOLはWebDAVでフォルダ(コレクション)を作成するためのメソッドです。 以下に具体的なサンプルコードを示します。 サンプルコード(VBA) Sub CreateWebDAVFolder() Dim http As Object Dim webDAVUrl As String Dim username As String Dim password As String Dim responseCode As Long ' 作成したいフォルダのURL webDAVUrl = "https://example.com/webdav/NewFolder" ' 認証情報 username = "your_username" password = "your_password" ' HTTPリクエストオブジェクトの作成 Set http = CreateObject("MSXML2.XMLHTTP") ' MKCOLメソッドでフォルダ作成 http.Open "MKCOL", webDAVUrl, False, username, password http.Send ' HTTPステータスコードの確認 responseCode = http.Status If responseCode = 201 Then MsgBox "フォルダ作成成功!" ElseIf responseCode = 405 Then MsgBox "フォルダは既に存在しています。" Else MsgBox "フォルダ作成に失敗しました。ステータスコード: " & responseCode End IfEnd Sub ポイント MKCOLメソッド WebDAVで新しいフォルダを作るためのHTTPメソッド。 成功時のステータスコードは 201 Created。 認証 サーバーがBasic認証の場合、http.Openでユーザー名とパスワードを指定できます。 NTLM認証が必要な場合は、WinHTTP.WinHTTPRequestの方が簡単に扱える場合があります。 存在チェック 既にフォルダが存在すると 405 Method Not Allowed が返ることがあります。 💡 補足 MSXML2.XMLHTTPは簡易的に使えますが、NTLM認証やプロキシ環境では WinHTTP.WinHTTPRequest の方が安定します。 サーバーURLは最後に作成するフォルダ名を含める必要があります。例: https://example.com/webdav/NewFolder。 もし希望であれば、NTLM認証対応版のVBAコードも作れます。作ってほしいですか?
もちろんです!VBAでHTTPリクエストを使ってWebDAV対応サーバー上にフォルダを作成するには、MSXML2.XMLHTTPやWinHTTP.WinHTTPRequestを使い、HTTPのMKCOLメソッドを送信します。MKCOLはWebDAVでフォルダ(コレクション)を作成するためのメソッドです。 以下に具体的なサンプルコードを示します。 サンプルコード(VBA) Sub CreateWebDAVFolder() Dim http As Object Dim webDAVUrl As String Dim username As String Dim password As String Dim responseCode As Long ' 作成したいフォルダのURL webDAVUrl = "https://example.com/webdav/NewFolder" ' 認証情報 username = "your_username" password = "your_password" ' HTTPリクエストオブジェクトの作成 Set http = CreateObject("MSXML2.XMLHTTP") ' MKCOLメソッドでフォルダ作成 http.Open "MKCOL", webDAVUrl, False, username, password http.Send ' HTTPステータスコードの確認 responseCode = http.Status If responseCode = 201 Then MsgBox "フォルダ作成成功!" ElseIf responseCode = 405 Then MsgBox "フォルダは既に存在しています。" Else MsgBox "フォルダ作成に失敗しました。ステータスコード: " & responseCode End IfEnd Sub ポイント MKCOLメソッド WebDAVで新しいフォルダを作るためのHTTPメソッド。 成功時のステータスコードは 201 Created。 認証 サーバーがBasic認証の場合、http.Openでユーザー名とパスワードを指定できます。 NTLM認証が必要な場合は、WinHTTP.WinHTTPRequestの方が簡単に扱える場合があります。 存在チェック 既にフォルダが存在すると 405 Method Not Allowed が返ることがあります。 💡 補足 MSXML2.XMLHTTPは簡易的に使えますが、NTLM認証やプロキシ環境では WinHTTP.WinHTTPRequest の方が安定します。 サーバーURLは最後に作成するフォルダ名を含める必要があります。例: https://example.com/webdav/NewFolder。 もし希望であれば、NTLM認証対応版のVBAコードも作れます。作ってほしいですか?