troubleshooting Question

Using VBA to remove BOM from UTF-8 CSV file, so special characters can be read into Word using ADODB

Avatar of Bryce Bassett
Bryce BassettFlag for United States of America asked on
* ADODB* ConnectionStringsVBAMicrosoft Word
10 Comments1 Solution30 ViewsLast Modified:
I've written a pretty complex Word global template (.dotm) using VBA.  One function auto-creates a Word document based on a CSV file output from another system.  The developers of that system are saving the CSV using "UTF-8 with BOM" encoding. I use this  ADODB method to open the CSV so I can import it into an array.  

Set objConnection = New ADODB.Connection

objConnection.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & CSVfolder & ";Extended Properties='text;HDR=NO;FMT=Delimited'"

objConnection.Open

Set objRecSet = New ADODB.Recordset

objRecSet.ActiveConnection = objConnection

objRecSet.source = "SELECT * FROM [" & CSVfile & "];" 

objRecSet.Open , , adOpenStatic

Open in new window

This works great.  However, the presence of the Byte Order Marker at the beginning of the file is causing international special characters to be read in/displayed incorrectly when used in string variables.  If I first use Excel to open and then resave the CSV file as a regular comma delimited CSV file, not UTF-8, then the special characters import and display correctly. But I'm trying to avoid that step.

Is there something I can add to my connection string, or a VBA method I can use to remove the BOM from the file before I import it?
ASKER CERTIFIED SOLUTION
aikimark
Get vaccinated; Social distance; Wear a mask

Our community of experts have been thoroughly vetted for their expertise and industry experience.

Top Expert 2014

The Distinguished Expert awards are presented to the top veteran and rookie experts to earn the most points in the top 50 topics.

Log in to continue reading
Become an EE member today7-DAY FREE TRIAL
Members can start a 7-Day Free trial then enjoy unlimited access to the platform for $9.99/mo
View membership options
Unlock 1 Answer and 10 Comments.
or
Learn why we charge membership fees
We get it - no one likes a content blocker. Take one extra minute and find out why we block content.
See how we're fighting big data
The Value of Experts Exchange in My Daily IT Life

Experts Exchange (EE) has become my company's go-to resource to get answers. I've used EE to make decisions, solve problems and even save customers. OutagesIO has been a challenging project and... Keep reading >>

Mike

Owner of Outages.IO
Phoenix, Arizona, United States
Member Since 2016
Join a full scale community that combines the best parts of other tools into one platform.
Unlock 1 Answer and 10 Comments.
View membership options
“All of life is about relationships, and EE has made a virtual community a real community. It lifts everyone's boat.”
William Peck

Member since 2004