I have the following code written in an attempt to upload an image file to ChatGPT that can be read and understood along with accompanying text. It isn't working and need to get it to work.
' Function to extract an image path from a string Function ExtractImagePath(ByVal text As String) As String Dim regEx As Object Dim matches As Object Dim match As Object
' Create regex object Set regEx = CreateObject("VBScript.RegExp")
' Set regex pattern to look for image paths ' This pattern looks for paths ending with .png, .jpg, .jpeg, or .bmp regEx.Pattern = "(([a-zA-Z]:\\|\\\\)[^\s\\/:*?""|]+(\\[^\s\\/:*?"" 0 Then ExtractImagePath = matches(0).Value Else ExtractImagePath = "" End If
' Clean up Set regEx = Nothing Set matches = Nothing End Function
' Function to read an image file and convert it to base64 Function GetBase64FromImage(ByVal filePath As String) As String On Error GoTo ErrorHandler
Dim streamObj As Object Dim bytes() As Byte
' Create ADODB.Stream object Set streamObj = CreateObject("ADODB.Stream")
' Open the stream and read the file With streamObj .Type = 1 ' Binary .Open .LoadFromFile filePath bytes = .Read .Close End With
' Convert binary data to base64 GetBase64FromImage = Base64Encode(bytes)
' Clean up Set streamObj = Nothing Exit Function
ErrorHandler: GetBase64FromImage = "" Debug.Print "Error reading image: " & Err.Description End Function
' Function to encode binary data as base64 Function Base64Encode(ByRef arrData() As Byte) As String Dim objXML As Object Dim objNode As Object
' Create MSXML DOMDocument Set objXML = CreateObject("MSXML2.DOMDocument")
' Create a base64 node Set objNode = objXML.createElement("b64")
' Set the datatype to bin.base64 objNode.DataType = "bin.base64"
' Set the node value to the binary data objNode.nodeTypedValue = arrData
' Get the base64 string Base64Encode = objNode.text
' Clean up Set objNode = Nothing Set objXML = Nothing End Function
' Debug function to test API connection and image handling Sub DebugGPTResponse() Dim testPrompt As String Dim result As String Dim errorMsg As String
On Error GoTo ErrorHandler
' Test prompt with an image path testPrompt = "What can you see in this image? C:\Users\Images\test_image.png Please describe it in detail."
' Call the function result = GetGPTResponse(testPrompt)
' Output success message with the response MsgBox "Connection successful. Response: " & result Exit Sub
ErrorHandler: errorMsg = "Error " & Err.Number & ": " & Err.Description MsgBox "Connection failed. " & errorMsg End Sub
Artikel Ilmiah Emas dan Bauksit -- 2 Category: Academic Writing, Article Writing, Content Writing, Environmental Science, Geology, Research Writing, Scientific Writing, Technical Writing Budget: $10 - $30 USD
23-Feb-2026 23:04 GMT
Cinematic Car Delivery Film Category: Audio Editing, Audio Services, Cinematography, Film Editing, Sound Design, Video Editing, Video Production, Video Services Budget: ₹1500 - ₹12500 INR
Removable Steel Stop Log with Rubber Seal Category: 3D Design, 3D Modelling, 3D Rendering, CAD / CAM, Manufacturing Design, Mechanical Engineering, Product Design, Prototyping, Structural Engineering, Welding Budget: $250 - $750 USD
23-Feb-2026 23:00 GMT
Medical Centre Owner Research Task Category: Data Analysis, Data Collection, Data Entry, Data Management, Excel, Research, Virtual Assistant, Web Search Budget: $2 - $8 USD
23-Feb-2026 22:57 GMT
DN250 Pipework 3D Modelling & Drawings Category: 3D CAD, 3D Design, 3D Drafting, 3D Modelling, AutoCAD, Mechanical Engineering, Revit Budget: £250 - £750 GBP
23-Feb-2026 22:56 GMT
Cinematic Car Delivery Video Category: After Effects, Cinematography, Color Grading, Film Editing, Lighting Design, Video Production, Video Services Budget: ₹12500 - ₹37500 INR
23-Feb-2026 22:56 GMT
Realistic Night Urban Cityscape Drawing Category: 2D Drawing, 2D Layout, Caricature & Cartoons, Digital Art, Graphic Design, Illustration, Photoshop Budget: min $50 USD
23-Feb-2026 22:55 GMT
Vendedor Home Office Category: Appointment Setting, B2B Marketing, CRM, Lead Generation, Leads, Sales, Telemarketing, Web Search Budget: $2 - $8 USD