Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
DiscussionsAccessExcelInfoPathOutlookPowerPointPublisherWord
DirectoryUser Groups
Related Topics
Outlook ExpressInternet ExplorerWindowsMS Server ProductsMore Topics ...

MS Office Forum / Word / Mailmerge and Fax / March 2007

Tip: Looking for answers? Try searching our database.

automating the SQL warning and the choice of text format

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
cw - 16 Mar 2007 12:19 GMT
Hi all  (again)

I was just wondering as I am trying to automate a word mail merge as much as
possible (least user clicks)

is it possible to automate the dialog boxes that appear when opening a word
file that use mail merge

in particular the "this file will run an SQL command select * from ... "
click yes and the " what is the encoding of this text file"  I want that to
be default utf-8

any thoughts

I have managed to get my filemaker database to export the word file stored
in a container field and export the records to a text file open them both
(then the user needs to interact), then it performs the mail merge closes
the files and deletes all but the final word doc

just need to get rid of those user interactions in the middle

thanks for any input
Craig

I am using word 2007 but it needs to work on all of the latest version if
poss
Peter Jamieson - 16 Mar 2007 15:11 GMT
You may be able to do some of this, but you really need to make a change to
the Windows registry, and you'll probably have to create one or more extra
files for each file you want to use as a data source. I haven't used this
approach much for real, so would be interested to hear whether it works for
you or not.

For the Windows registry change, see

http://support.microsoft.com/Default.aspx?kbid=825765

That should get rid of the "SQL command" messages. However, before you do
that, can you tell me whether the SQL message is displaying the correct name
of the file you are trying to connect to? Here, but only with Word 2007,
Word seems to invent a file name (e.g. I try to connect to kt.txt, but the
message displays txt1380.txt).

In order to get the correct encoding, I believe that you have to do the
following:
a. use a .odc file to connect to the data
b. use a SCHEMA.INI file to specify the encoding.

For example, suppose you want to connect to c:\myfiles\mydata.txt and the
file is in UTF-8 format. Then you need a .odc file (Office Data Connection
File) as follows (this has a lot of stuff which you do not absolutely need
but which Office inserts when you create it):

-----------------------------------------------------------------

<html xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/x-ms-odc; charset=utf-8">
<meta name=ProgId content=ODC.Table>
<meta name=SourceType content=OLEDB>
<meta name=Table content="mydata#txt">
<title>mydata#txt</title>
<xml id=docprops><o:DocumentProperties
 xmlns:o="urn:schemas-microsoft-com:office:office"
 xmlns="http://www.w3.org/TR/REC-html40">
 <o:Name>mydata#txt</o:Name>
</o:DocumentProperties>
</xml><xml id=msodc><odc:OfficeDataConnection
 xmlns:odc="urn:schemas-microsoft-com:office:odc"
 xmlns="http://www.w3.org/TR/REC-html40">
 <odc:Connection odc:Type="OLEDB">
  <odc:ConnectionString>Provider=Microsoft.ACE.OLEDB.12.0;User
ID=Admin;Data Source=c:\myfiles\;Mode=Share Deny None;Extended
Properties=&quot;&quot;;Jet OLEDB:System database=&quot;&quot;;Jet
OLEDB:Registry Path=&quot;&quot;;Jet OLEDB:Engine Type=96;Jet OLEDB:Database
Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk
Transactions=1;Jet OLEDB:New Database Password=&quot;&quot;;Jet OLEDB:Create
System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy
Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet
OLEDB:SFP=False;Jet OLEDB:Support Complex Data=False</odc:ConnectionString>
  <odc:CommandType>Table</odc:CommandType>
  <odc:CommandText>mydata#txt</odc:CommandText>
 </odc:Connection>
</odc:OfficeDataConnection>
</xml>
<style>
<!--
   .ODCDataSource
   {
   behavior: url(dataconn.htc);
   }
-->
</style>

</head>

<body onload='init()' scroll=no leftmargin=0 topmargin=0 rightmargin=0
style='border: 0px'>
<table style='border: solid 1px threedface; height: 100%; width: 100%'
cellpadding=0 cellspacing=0 width='100%'>
 <tr>
   <td id=tdName style='font-family:arial; font-size:medium; padding: 3px;
background-color: threedface'>
     &nbsp;
   </td>
    <td id=tdTableDropdown style='padding: 3px; background-color:
threedface; vertical-align: top; padding-bottom: 3px'>

     &nbsp;
   </td>
 </tr>
 <tr>
   <td id=tdDesc colspan='2' style='border-bottom: 1px threedshadow solid;
font-family: Arial; font-size: 1pt; padding: 2px; background-color:
threedface'>

     &nbsp;
   </td>
 </tr>
 <tr>
   <td colspan='2' style='height: 100%; padding-bottom: 4px; border-top:
1px threedhighlight solid;'>
     <div id='pt' style='height: 100%' class='ODCDataSource'></div>
   </td>
 </tr>
</table>

<script language='javascript'>

function init() {
 var sName, sDescription;
 var i, j;

 try {
   sName = unescape(location.href)

   i = sName.lastIndexOf(".")
   if (i>=0) { sName = sName.substring(1, i); }

   i = sName.lastIndexOf("/")
   if (i>=0) { sName = sName.substring(i+1, sName.length); }

   document.title = sName;
   document.getElementById("tdName").innerText = sName;

   sDescription = document.getElementById("docprops").innerHTML;

   i = sDescription.indexOf("escription>")
   if (i>=0) { j = sDescription.indexOf("escription>", i + 11); }

   if (i>=0 && j >= 0) {
     j = sDescription.lastIndexOf("</", j);

     if (j>=0) {
         sDescription = sDescription.substring(i+11, j);
       if (sDescription != "") {
           document.getElementById("tdDesc").style.fontSize="x-small";
         document.getElementById("tdDesc").innerHTML = sDescription;
         }
       }
     }
   }
 catch(e) {

   }
 }
</script>

</body>

</html>

-----------------------------------------------------------------
You need one of those for each data source. You will need to change the path
name in the connection string to be the name of the folder containing the
text file you want to use, and change the file name in the various places it
occurs (Actually, I suspect it would be enough to change it in the line that
says "<meta name=Table content="mydata#txt">". Notice that "#" is used
instead of "." in this type of .odc file - I don't know if that is entirely
necessary. If you copy the DATACONN.HTC file from your My Data Sources
folder to the same folder as the .odc and try to open the .odc in Internet
Explorer, with any luck you wil see the text file content. That's not
essential for your task, but a useful technique when debugging .odc files.

To specify the character encoding of the text file, you need a SCHEMA.INI
file in the same folder as the text file. The SCHEMA.INI file is a text file
that you can edit with Notepad. has one "section" for each file you want to
describe. For a comma-delimited file using UTF-8 encoding, try:

[mydata.txt]
ColNameHeader=True
Format=Delimited(,)
MaxScanRows=25
CharacterSet=65001

ColNameHeader specifies that he first row in your data file contains column
names.

MaxScanRows is probably optional in this case.

Peter Jamieson

> Hi all  (again)
>
[quoted text clipped - 22 lines]
> I am using word 2007 but it needs to work on all of the latest version if
> poss
cw - 16 Mar 2007 16:07 GMT
Wow

That all look pretty intense!

I was hoping for something that would work at runtime that would
automatically select 'yes' and 'utf-8'  rather than changing the registry,
but as the Microsoft knowledge base states its there as security measure so
I doubt that will be possible for the SQL

I will certainly gives these a go and let you know how I get on

Thanks very much
Craig

> You may be able to do some of this, but you really need to make a change
> to the Windows registry, and you'll probably have to create one or more
[quoted text clipped - 202 lines]
>> I am using word 2007 but it needs to work on all of the latest version if
>> poss
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.