<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.1.2" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>Joint Technologies ltd</title>
	<link>http://jointtech.com</link>
	<description>Orange County's Premier IT Service Company</description>
	<pubDate>Wed, 07 May 2008 00:19:50 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.1.2</generator>
	<language>en</language>
			<item>
		<title>Clean Plesk qmail Queue</title>
		<link>http://jointtech.com/tech-stuff/clean-plesk-qmail-queue/</link>
		<comments>http://jointtech.com/tech-stuff/clean-plesk-qmail-queue/#comments</comments>
		<pubDate>Wed, 07 May 2008 00:17:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Tech Stuff]]></category>

		<guid isPermaLink="false">http://jointtech.com/tech-stuff/clean-plesk-qmail-queue/</guid>
		<description><![CDATA[<p>
Clear / Clean Qmail Queue Completely, Safely &amp; Fast.</p><p><br />Here is a quick and easy way to clear all email from the queue.<br />This will not remove anything it should not remove. It just clears<br />all email from the queue safely. This is just for qmail.<br />( Not for use with any other email programs )<br />Thanks goes to my Friend Zike at RS / EV1.</p><p>service qmail stop first!!<br />1) login to your server via ssh<br />2) su -<br />3) wget <a href="http://wepraisehim.org/qmailclear.sh" target="_blank">http://wepraisehim.org/qmailclear.sh</a><br />5) sh qmailclear.sh or sh ./qmailclear.sh<br />6) done.<br />For those that receive oversized file truncting errors.<br />Use the following more intense script. It take a little<br />longer but gets the job done.<br />1) login to your server via ssh<br />2) su -<br />3) wget <a href="http://wepraisehim.org/qmailclean.sh" target="_blank">http://wepraisehim.org/qmailclean.sh</a><br />5) sh qmailclean.sh or sh ./qmailclean.sh<br />6) done.
</p>]]></description>
			<content:encoded><![CDATA[<p>
Clear / Clean Qmail Queue Completely, Safely &amp; Fast.</p><p><br />Here is a quick and easy way to clear all email from the queue.<br />This will not remove anything it should not remove. It just clears<br />all email from the queue safely. This is just for qmail.<br />( Not for use with any other email programs )<br />Thanks goes to my Friend Zike at RS / EV1.</p><p>service qmail stop first!!<br />1) login to your server via ssh<br />2) su -<br />3) wget <a href="http://wepraisehim.org/qmailclear.sh" target="_blank">http://wepraisehim.org/qmailclear.sh</a><br />5) sh qmailclear.sh or sh ./qmailclear.sh<br />6) done.<br />For those that receive oversized file truncting errors.<br />Use the following more intense script. It take a little<br />longer but gets the job done.<br />1) login to your server via ssh<br />2) su -<br />3) wget <a href="http://wepraisehim.org/qmailclean.sh" target="_blank">http://wepraisehim.org/qmailclean.sh</a><br />5) sh qmailclean.sh or sh ./qmailclean.sh<br />6) done.
</p>]]></content:encoded>
			<wfw:commentRss>http://jointtech.com/tech-stuff/clean-plesk-qmail-queue/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Site launch</title>
		<link>http://jointtech.com/today-a-client-asked/site-launch/</link>
		<comments>http://jointtech.com/today-a-client-asked/site-launch/#comments</comments>
		<pubDate>Thu, 27 Mar 2008 09:06:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Today a Client Asked...]]></category>

		<guid isPermaLink="false">http://jointtech.com/today-a-client-asked/site-launch/</guid>
		<description><![CDATA[<br /><br /><a href="http://foxnewsfoxes.com/2008/03/26/hello-world/">Fox News Foxes » Blog Archive » Hello World!!</a><br /><br />Launched a new site.  Hey I was bored.  If I make $6 in ad sense Ill be happy.<br />]]></description>
			<content:encoded><![CDATA[<br /><br /><a href="http://foxnewsfoxes.com/2008/03/26/hello-world/">Fox News Foxes » Blog Archive » Hello World!!</a><br /><br />Launched a new site.  Hey I was bored.  If I make $6 in ad sense Ill be happy.<br />]]></content:encoded>
			<wfw:commentRss>http://jointtech.com/today-a-client-asked/site-launch/feed/</wfw:commentRss>
		</item>
		<item>
		<title>My Mobiler</title>
		<link>http://jointtech.com/tech-stuff/my-mobiler/</link>
		<comments>http://jointtech.com/tech-stuff/my-mobiler/#comments</comments>
		<pubDate>Tue, 18 Mar 2008 08:55:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Tech Stuff]]></category>

		<guid isPermaLink="false">http://jointtech.com/tech-stuff/my-mobiler/</guid>
		<description><![CDATA[<br /><br /><a href="http://www.mymobiler.com/">My Mobile - My Mobiler</a><br /><br />I just installed this so I dont have to lean over to mess with my PDA.  I can control it from my desktop.  technology makes you lazy I would say.  But it takes so much effort to find these quick tricks that I think it evens out in the end.<br />]]></description>
			<content:encoded><![CDATA[<br /><br /><a href="http://www.mymobiler.com/">My Mobile - My Mobiler</a><br /><br />I just installed this so I dont have to lean over to mess with my PDA.  I can control it from my desktop.  technology makes you lazy I would say.  But it takes so much effort to find these quick tricks that I think it evens out in the end.<br />]]></content:encoded>
			<wfw:commentRss>http://jointtech.com/tech-stuff/my-mobiler/feed/</wfw:commentRss>
		</item>
		<item>
		<title>ScribeFire Blogging Extension</title>
		<link>http://jointtech.com/tech-stuff/scribefire-blogging-extension/</link>
		<comments>http://jointtech.com/tech-stuff/scribefire-blogging-extension/#comments</comments>
		<pubDate>Mon, 17 Mar 2008 10:07:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Tech Stuff]]></category>

		<guid isPermaLink="false">http://jointtech.com/tech-stuff/scribefire-blogging-extension/</guid>
		<description><![CDATA[<hr class="jump" /><br /><a href="http://lorelle.wordpress.com/2005/12/22/firefox-blogging-extension-performancing/">Firefox Blogging Extension - Performancing « Lorelle on WordPress</a><br /><br />I think I ts a pretty cool extention and Im testing it now.  Kill 2 birds with one stone.  Some SEO fodder and a new toy <img src='http://jointtech.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> <br />]]></description>
			<content:encoded><![CDATA[<hr class="jump" /><br /><a href="http://lorelle.wordpress.com/2005/12/22/firefox-blogging-extension-performancing/">Firefox Blogging Extension - Performancing « Lorelle on WordPress</a><br /><br />I think I ts a pretty cool extention and Im testing it now.  Kill 2 birds with one stone.  Some SEO fodder and a new toy <img src='http://jointtech.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> <br />]]></content:encoded>
			<wfw:commentRss>http://jointtech.com/tech-stuff/scribefire-blogging-extension/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Great Plains GP 10 fails to install.  Can&#8217;t find .NET 2.0</title>
		<link>http://jointtech.com/today-a-client-asked/great-plains-gp-10-fails-to-install-cant-find-net-20/</link>
		<comments>http://jointtech.com/today-a-client-asked/great-plains-gp-10-fails-to-install-cant-find-net-20/#comments</comments>
		<pubDate>Wed, 23 Jan 2008 11:54:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Today a Client Asked...]]></category>

		<category><![CDATA[Tech Stuff]]></category>

		<guid isPermaLink="false">http://jointtech.com/today-a-client-asked/great-plains-gp-10-fails-to-install-cant-find-net-20/</guid>
		<description><![CDATA[<p>I have a client that has been struggling with installing GP clients on a virtual server through terminal services.</p><p>&nbsp;</p><p>Heres what happened.</p><p>

</p><p class="MsoNormal"><span style="font-size: 10pt; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; color: blue;">We found the
glitch.&nbsp; I used a workstation with GP installed but not being used right
now to try and find out what is causing these issues.&nbsp; I first tried to
remove GP from this station and it bombed citing the same error that &quot;.NET
Framework 2.0 not detected&quot;.&nbsp; I then removed .NET Framework 3.0 with
service patch and tried to remove GP again, and it still bombed with same
error.&nbsp; I then removed .NET Framework 2.0 with service patch and it still
bombed.&nbsp; I then installed the .NET 2.0 you sent as a download, and made sure
to not update anything as the update icon came on right away.&nbsp; I left in
.NET Framework 1.1 and 1.1 hotfix.</span><span><o :p /></span></p>

<p class="MsoNormal"><span>&nbsp;<o :p /></span></p>

<p class="MsoNormal"><span style="font-size: 10pt; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; color: blue;">After downloading .NET
2.0 clean, the program then allowed me to remove GP.&nbsp; I then reinstalled
GP with no issues.</span><span><o :p /></span></p>

<p class="MsoNormal"><span>&nbsp;<o :p /></span></p>

<p class="MsoNormal"><span style="font-size: 10pt; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; color: blue;">So, the 10.0 installation
disk we have is only looking for 2.0, and there is hell to pay if you update
it.</span><span><o :p /></span></p>

<p>&nbsp;</p><p>&nbsp;</p>]]></description>
			<content:encoded><![CDATA[<p>I have a client that has been struggling with installing GP clients on a virtual server through terminal services.</p><p>&nbsp;</p><p>Heres what happened.</p><p>

</p><p class="MsoNormal"><span style="font-size: 10pt; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; color: blue;">We found the
glitch.&nbsp; I used a workstation with GP installed but not being used right
now to try and find out what is causing these issues.&nbsp; I first tried to
remove GP from this station and it bombed citing the same error that &quot;.NET
Framework 2.0 not detected&quot;.&nbsp; I then removed .NET Framework 3.0 with
service patch and tried to remove GP again, and it still bombed with same
error.&nbsp; I then removed .NET Framework 2.0 with service patch and it still
bombed.&nbsp; I then installed the .NET 2.0 you sent as a download, and made sure
to not update anything as the update icon came on right away.&nbsp; I left in
.NET Framework 1.1 and 1.1 hotfix.</span><span><o :p /></span></p>

<p class="MsoNormal"><span>&nbsp;<o :p /></span></p>

<p class="MsoNormal"><span style="font-size: 10pt; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; color: blue;">After downloading .NET
2.0 clean, the program then allowed me to remove GP.&nbsp; I then reinstalled
GP with no issues.</span><span><o :p /></span></p>

<p class="MsoNormal"><span>&nbsp;<o :p /></span></p>

<p class="MsoNormal"><span style="font-size: 10pt; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; color: blue;">So, the 10.0 installation
disk we have is only looking for 2.0, and there is hell to pay if you update
it.</span><span><o :p /></span></p>

<p>&nbsp;</p><p>&nbsp;</p>]]></content:encoded>
			<wfw:commentRss>http://jointtech.com/today-a-client-asked/great-plains-gp-10-fails-to-install-cant-find-net-20/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Connecting to network drives remotely</title>
		<link>http://jointtech.com/today-a-client-asked/connecting-to-network-drives-remotely/</link>
		<comments>http://jointtech.com/today-a-client-asked/connecting-to-network-drives-remotely/#comments</comments>
		<pubDate>Wed, 18 Jul 2007 04:09:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Today a Client Asked...]]></category>

		<guid isPermaLink="false">http://jointtech.com/uncategorized/connecting-to-network-drives-remotely/</guid>
		<description><![CDATA[
<p>When working remotely you will often need to access your files from a mapped network drive just like when you are in the office.&nbsp; MS Small Business server provides this functionality through the Connect to Small Business Server application.&nbsp; This creates a secure, encrypted connection to your server in the office.</p><p>&nbsp;</p><p>Some times when you connect to small business server you still wont have access to your mapped drives.&nbsp; This is usually because of an offline files syncronization situation. You can usually diagnose this by looking in your task tray.&nbsp; See the image below.<br /><img src="http://jointtech.com/wp-content/images/offlinefiles.jpg" /></p><p style="border-style: solid; border-width: 0px; margin: 0px; padding: 0px;">A: verify you are connected to Small Business Server<br />B: This is the offline files icon<br />C: If you have an ISA firewall you will see that it shows as connected.</p><p>If the offline files icon is in your task tray; click it and you will see something like the image below.<br /><img src="http://jointtech.com/wp-content/images/offline2.jpg" /></p><p style="border-style: solid; border-width: 0px; margin: 0px; padding: 0px;">click OK</p><p>Your computer will then sync up the files that have changed and also re-enable your mapped drives.<br /><img src="http://jointtech.com/wp-content/images/offline3.jpg" /></p><p>&nbsp;</p><p>Close and reopen my computer and you should have access to your mapped drives.<br />&nbsp;</p><p>Still not seeing your files?&nbsp; <a href="http://jointtech.com/contact-jtl/" title="Contact Us">Contact Us.&nbsp;</a></p><p><br /></p>]]></description>
			<content:encoded><![CDATA[
<p>When working remotely you will often need to access your files from a mapped network drive just like when you are in the office.&nbsp; MS Small Business server provides this functionality through the Connect to Small Business Server application.&nbsp; This creates a secure, encrypted connection to your server in the office.</p><p>&nbsp;</p><p>Some times when you connect to small business server you still wont have access to your mapped drives.&nbsp; This is usually because of an offline files syncronization situation. You can usually diagnose this by looking in your task tray.&nbsp; See the image below.<br /><img src="http://jointtech.com/wp-content/images/offlinefiles.jpg" /></p><p style="border-style: solid; border-width: 0px; margin: 0px; padding: 0px;">A: verify you are connected to Small Business Server<br />B: This is the offline files icon<br />C: If you have an ISA firewall you will see that it shows as connected.</p><p>If the offline files icon is in your task tray; click it and you will see something like the image below.<br /><img src="http://jointtech.com/wp-content/images/offline2.jpg" /></p><p style="border-style: solid; border-width: 0px; margin: 0px; padding: 0px;">click OK</p><p>Your computer will then sync up the files that have changed and also re-enable your mapped drives.<br /><img src="http://jointtech.com/wp-content/images/offline3.jpg" /></p><p>&nbsp;</p><p>Close and reopen my computer and you should have access to your mapped drives.<br />&nbsp;</p><p>Still not seeing your files?&nbsp; <a href="http://jointtech.com/contact-jtl/" title="Contact Us">Contact Us.&nbsp;</a></p><p><br /></p>]]></content:encoded>
			<wfw:commentRss>http://jointtech.com/today-a-client-asked/connecting-to-network-drives-remotely/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Cox Blocks Outgoing Email As Spam</title>
		<link>http://jointtech.com/today-a-client-asked/cox-blocks-outgoing-email-as-spam/</link>
		<comments>http://jointtech.com/today-a-client-asked/cox-blocks-outgoing-email-as-spam/#comments</comments>
		<pubDate>Sat, 05 May 2007 04:43:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Today a Client Asked...]]></category>

		<guid isPermaLink="false">http://jointtech.com/today-a-client-asked/cox-blocks-outgoing-email-as-spam/</guid>
		<description><![CDATA[<p>Let me preface this by saying that I think Cox is the best home internet service I&#8217;ve ever dealt with.&nbsp; It&#8217;s fast and reliable and most importantly you always speak to someone for whom english is a first language.&nbsp; They answer the phone quickly and for the most part I don&#8217;t have any problem with them.&nbsp;</p><p>Ok Here&#8217;s a great one.&nbsp; I was with a client.&nbsp; We do computer service as well as web design and hosting.&nbsp; He has been complaining, since he started using his new @domainname.com email address instead of his @cox.net address, about messages not being received by people he was sending to.&nbsp; Since he is using a Cox home connection for internet he has to use <a href="http://smtp.west.cox.net">smtp.west.cox.net</a> to send anything on port 25.&nbsp; All email has to go through Cox unless he uses an alternate port email service&#8230;&nbsp;</p><p>Ok enough background.&nbsp; Today he calls me and says his emails are all bouncing back to him.&nbsp; I ask him to send me the bounced message (via another account).</p><p>&nbsp;</p><p>Here is the message he recieved. Highlights are mine.<br /></p><p>

</p><p style="margin-left: 1in; text-indent: -1in;" class="MsoNormal"><span style="font-size: 8pt; font-family: &quot;Tahoma&quot;,&quot;sans-serif&quot;;">Your message did not reach some or all of
the intended recipients.<o :p /></span></p>

<p style="margin-left: 1in; text-indent: -1in;" class="MsoNormal"><span style="font-size: 8pt; font-family: &quot;Tahoma&quot;,&quot;sans-serif&quot;;"><o :p>&nbsp;</o></span></p>

<p style="margin-left: 1in; text-indent: -1in;" class="MsoNormal"><span style="font-size: 8pt; font-family: &quot;Tahoma&quot;,&quot;sans-serif&quot;;"></span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>Subject:<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>FW: Here are
the IO&#8217;s and Posting Instructions for the 2 offers.<o :p /></p>

<p style="margin-left: 1in; text-indent: -1in;" class="MsoNormal"><span style="font-size: 8pt; font-family: &quot;Tahoma&quot;,&quot;sans-serif&quot;;"></span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>Sent:<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>5/3/2007 4:15
PM<o :p /></p>

<p class="MsoNormal"><span style="font-size: 8pt; font-family: &quot;Tahoma&quot;,&quot;sans-serif&quot;;"><o :p>&nbsp;</o></span></p>

<p class="MsoNormal"><span style="font-size: 8pt; font-family: &quot;Tahoma&quot;,&quot;sans-serif&quot;;">The following
recipient(s) could not be reached:<o :p /></span></p>

<p class="MsoNormal"><span style="font-size: 8pt; font-family: &quot;Tahoma&quot;,&quot;sans-serif&quot;;"><o :p>&nbsp;</o></span></p>

<p class="MsoNormal"><span style="font-size: 8pt; font-family: &quot;Tahoma&quot;,&quot;sans-serif&quot;;"></span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&#8216;Yan Herndon&#8217; on 5/3/2007 4:15 PM<o :p /></p>

<p class="MsoNormal"><span style="font-size: 8pt; font-family: &quot;Tahoma&quot;,&quot;sans-serif&quot;;"></span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>552 unFF1W00S1Vdu980000000 This
message was undeliverable.<span>&nbsp; </span><font size="4"><strong>This message
has been found to be a potential spam message, and has therefore been
blocked.</strong></font><span>&nbsp; </span>Please visit <a href="http://coxagainstspam.cox.net/"><span>http://coxagainstspam.cox.net</span></a>
for more information.<o :p /></p>

<p>&nbsp;</p><p>So I go take a look at the page and blah blah we are protecting you, blah blah.&nbsp; I tell him to call cox and ask them what&#8217;s up.&nbsp; I figure that since he is in the mortgage biz and there is a link to his web site in his signature maybe its just close enough to get caught.</p><p>So he calls them up. &nbsp; Tells the above&#8230;&nbsp; All the first level techs can&#8217;t figure anything out etc.&nbsp; He pushes harder.&nbsp; (the guys a salesman&#8230;)&nbsp; Finally he get&#8217;s second level techs on the phone and they tell him a ring of stories.&nbsp; Finally the tech is getting frusterated.&nbsp; <font size="5">He says the only thing we have changed is that now we send a bounce notification back to the customer.&nbsp; Before we didn&#8217;t do that.&nbsp; We just blackholed the email.</font></p><p>&nbsp;</p><p>Umm.&nbsp; Did I hear that correctly.&nbsp; Cox did not per RFC standards deliver a bounce notification?&nbsp; They simply deleted emails THAT WERE FROM IT&#8217;S OWN CUSTOMERS.</p><p>I understand that they have to fight spam etc.&nbsp; I know that they deal with mostly computer illiterates.&nbsp; But seriously.&nbsp; Blackholeing an email, especially one that isnt spam is almost immoral.&nbsp; Unethical.&nbsp; And definatley not cool. &nbsp; Ok you want to have 100% email delivery (yeah right) then you pay a premium for Biz class service.&nbsp; </p><p>Now I can&#8217;t tell how many hours I&#8217;ve wasted trying to figure out where these lost emails went or who was blocking them etc because a simple notification wasn&#8217;t delivered.<br /></p><p>&nbsp;</p><p><br /></p>

<p>&nbsp;</p>]]></description>
			<content:encoded><![CDATA[<p>Let me preface this by saying that I think Cox is the best home internet service I&#8217;ve ever dealt with.&nbsp; It&#8217;s fast and reliable and most importantly you always speak to someone for whom english is a first language.&nbsp; They answer the phone quickly and for the most part I don&#8217;t have any problem with them.&nbsp;</p><p>Ok Here&#8217;s a great one.&nbsp; I was with a client.&nbsp; We do computer service as well as web design and hosting.&nbsp; He has been complaining, since he started using his new @domainname.com email address instead of his @cox.net address, about messages not being received by people he was sending to.&nbsp; Since he is using a Cox home connection for internet he has to use <a href="http://smtp.west.cox.net">smtp.west.cox.net</a> to send anything on port 25.&nbsp; All email has to go through Cox unless he uses an alternate port email service&#8230;&nbsp;</p><p>Ok enough background.&nbsp; Today he calls me and says his emails are all bouncing back to him.&nbsp; I ask him to send me the bounced message (via another account).</p><p>&nbsp;</p><p>Here is the message he recieved. Highlights are mine.<br /></p><p>

</p><p style="margin-left: 1in; text-indent: -1in;" class="MsoNormal"><span style="font-size: 8pt; font-family: &quot;Tahoma&quot;,&quot;sans-serif&quot;;">Your message did not reach some or all of
the intended recipients.<o :p /></span></p>

<p style="margin-left: 1in; text-indent: -1in;" class="MsoNormal"><span style="font-size: 8pt; font-family: &quot;Tahoma&quot;,&quot;sans-serif&quot;;"><o :p>&nbsp;</o></span></p>

<p style="margin-left: 1in; text-indent: -1in;" class="MsoNormal"><span style="font-size: 8pt; font-family: &quot;Tahoma&quot;,&quot;sans-serif&quot;;"></span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>Subject:<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>FW: Here are
the IO&#8217;s and Posting Instructions for the 2 offers.<o :p /></p>

<p style="margin-left: 1in; text-indent: -1in;" class="MsoNormal"><span style="font-size: 8pt; font-family: &quot;Tahoma&quot;,&quot;sans-serif&quot;;"></span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>Sent:<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>5/3/2007 4:15
PM<o :p /></p>

<p class="MsoNormal"><span style="font-size: 8pt; font-family: &quot;Tahoma&quot;,&quot;sans-serif&quot;;"><o :p>&nbsp;</o></span></p>

<p class="MsoNormal"><span style="font-size: 8pt; font-family: &quot;Tahoma&quot;,&quot;sans-serif&quot;;">The following
recipient(s) could not be reached:<o :p /></span></p>

<p class="MsoNormal"><span style="font-size: 8pt; font-family: &quot;Tahoma&quot;,&quot;sans-serif&quot;;"><o :p>&nbsp;</o></span></p>

<p class="MsoNormal"><span style="font-size: 8pt; font-family: &quot;Tahoma&quot;,&quot;sans-serif&quot;;"></span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&#8216;Yan Herndon&#8217; on 5/3/2007 4:15 PM<o :p /></p>

<p class="MsoNormal"><span style="font-size: 8pt; font-family: &quot;Tahoma&quot;,&quot;sans-serif&quot;;"></span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>552 unFF1W00S1Vdu980000000 This
message was undeliverable.<span>&nbsp; </span><font size="4"><strong>This message
has been found to be a potential spam message, and has therefore been
blocked.</strong></font><span>&nbsp; </span>Please visit <a href="http://coxagainstspam.cox.net/"><span>http://coxagainstspam.cox.net</span></a>
for more information.<o :p /></p>

<p>&nbsp;</p><p>So I go take a look at the page and blah blah we are protecting you, blah blah.&nbsp; I tell him to call cox and ask them what&#8217;s up.&nbsp; I figure that since he is in the mortgage biz and there is a link to his web site in his signature maybe its just close enough to get caught.</p><p>So he calls them up. &nbsp; Tells the above&#8230;&nbsp; All the first level techs can&#8217;t figure anything out etc.&nbsp; He pushes harder.&nbsp; (the guys a salesman&#8230;)&nbsp; Finally he get&#8217;s second level techs on the phone and they tell him a ring of stories.&nbsp; Finally the tech is getting frusterated.&nbsp; <font size="5">He says the only thing we have changed is that now we send a bounce notification back to the customer.&nbsp; Before we didn&#8217;t do that.&nbsp; We just blackholed the email.</font></p><p>&nbsp;</p><p>Umm.&nbsp; Did I hear that correctly.&nbsp; Cox did not per RFC standards deliver a bounce notification?&nbsp; They simply deleted emails THAT WERE FROM IT&#8217;S OWN CUSTOMERS.</p><p>I understand that they have to fight spam etc.&nbsp; I know that they deal with mostly computer illiterates.&nbsp; But seriously.&nbsp; Blackholeing an email, especially one that isnt spam is almost immoral.&nbsp; Unethical.&nbsp; And definatley not cool. &nbsp; Ok you want to have 100% email delivery (yeah right) then you pay a premium for Biz class service.&nbsp; </p><p>Now I can&#8217;t tell how many hours I&#8217;ve wasted trying to figure out where these lost emails went or who was blocking them etc because a simple notification wasn&#8217;t delivered.<br /></p><p>&nbsp;</p><p><br /></p>

<p>&nbsp;</p>]]></content:encoded>
			<wfw:commentRss>http://jointtech.com/today-a-client-asked/cox-blocks-outgoing-email-as-spam/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Merge all CSV or TXT files in a folder</title>
		<link>http://jointtech.com/today-a-client-asked/merge-csvs/</link>
		<comments>http://jointtech.com/today-a-client-asked/merge-csvs/#comments</comments>
		<pubDate>Thu, 03 May 2007 06:46:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Today a Client Asked...]]></category>

		<category><![CDATA[Tech Stuff]]></category>

		<guid isPermaLink="false">http://jointtech.com/today-a-client-asked/merge-csvs/</guid>
		<description><![CDATA[
<p>&nbsp;</p><p><a title="merge csv" href="http://www.rondebruin.nl/csv.htm">Found </a>this cool script to merge a bunch of CSVs into one big one. works great after you use my other post on <a href="http://jointtech.com/today-a-client-asked/xls-csv-convert/" title="xls to csv conversion">XLS to CSV convertion</a>.<br /></p><pre style="margin-top: 0px; margin-bottom: 0px;"><font face="Arial"><strong>Ron de Bruin</strong> (last update 17 March 2006)</font></pre><pre style="margin-top: 0px; margin-bottom: 0px;">&nbsp;</pre><pre style="margin-top: 0px; margin-bottom: 0px;"><font face="Arial"><strong>1)</strong> Non VBA example from Dave Peterson </font></pre><pre style="margin-top: 0px; margin-bottom: 0px;"><font face="Arial"><strong>2) </strong>VBA example I made based on Dave&#8217;s example</font></pre>
<pre style="margin-top: 0px; margin-bottom: 0px;">&nbsp;</pre>
<p style="margin-top: 0pt; margin-bottom: 0pt;"><font size="2" face="Arial"><strong>Note:</strong> 
with a few small changes you can also use this for txt files</font></p>
<p style="margin-top: 0pt; margin-bottom: 0pt;"><font size="2" face="Arial">Change
</font> <font size="2" face="Arial" color="#000080">*.csv </font> 
<font size="2" face="Arial">to</font><font size="2" face="Arial" color="#000080"> 
*.txt i</font><font size="2" face="Arial">n example 1 and 2 and in the code also 
use</font><font size="2" face="Arial" color="#000080"> Tab = true</font></p>
<p style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</p>
<p style="margin-top: 0pt; margin-bottom: 0pt;"><u><strong><font size="4" face="Arial">
Example 1</font></strong></u></p>
<p style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</p>
<p style="margin-top: 0pt; margin-bottom: 0pt;"><strong><font size="2" face="Arial">Merge 
all data from the csv files into a text file</font></strong></p>
<p style="margin-top: 0pt; margin-bottom: 0pt;"><font size="2" face="Arial"><br />
1) Windows Start Button | Run <br />
2) Type </font><font color="#000080">cmd</font> and hit enter (&quot;command&quot; in Win 98)<br />
3) Go to the folder with the CSV files (for help enter &quot;help cd&quot;) </p>
<p style="margin-top: 0pt; margin-bottom: 0pt;"><font size="2" face="Arial">4) Type </font><font color="#000080">copy 
*.csv all.txt</font> and hit enter to copy all data in the files into all.txt.</p>
<p style="margin-top: 0pt; margin-bottom: 0pt;"><font size="2" face="Arial">5) Type </font><font color="#000080">exit</font> 
and hit enter 
to close the DOS window</p>
<p style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</p>
<p style="margin-top: 0pt; margin-bottom: 0pt;"><strong><font size="2" face="Arial">Now we 
must import the text file </font><font color="#000080">all.txt i</font>nto Excel.</strong></p>
<p style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</p>
<p style="margin-top: 0pt; margin-bottom: 0pt;"><font size="2" face="Arial">1) Open 
Excel</font></p>
<p style="margin-top: 0pt; margin-bottom: 0pt;"><font size="2" face="Arial">2) When 
you use File Open to open <strong>all.txt </strong>the Text Import Wizard will help you import 
the file</font></p>
<p style="margin-top: 0pt; margin-bottom: 0pt;"><font size="2" face="Arial">3) Choose 
Delimited</font></p>
<p style="margin-top: 0pt; margin-bottom: 0pt;"><font size="2" face="Arial">4) Next</font></p>
<p style="margin-top: 0pt; margin-bottom: 0pt;"><font size="2" face="Arial">5) Check 
Comma</font></p>
<p style="margin-top: 0pt; margin-bottom: 0pt;"><font size="2" face="Arial">6) Finish</font></p>
<p style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</p>
<p style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</p>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><u><strong><font size="4" face="Arial">Example 2</font></strong></u></pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial">This code will ask you to browse to the folder with the csv files and after you click OK in this dialog</font></pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial">it merge all data into a txt file and then import and save it into a Excel file for you.</font></pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial">If you want to have more control then you can also use code from this page to open the csv files and copy.</font></pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial"><a href="http://www.rondebruin.nl/copy3.htm">http://www.rondebruin.nl/copy3.htm</a></font></pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial">Change <strong>xls</strong> in the code to <strong>csv</strong> if you want to use it.</font></pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><strong><font face="Arial">Copy the code below into a normal module of a workbook :</font></strong></pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial">Alt-F11</font></pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial">Insert&gt;Module</font></pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial">Paste the macro</font></pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial">Alt q to go back to Excel</font></pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial">Alt F8 to open your macro list</font></pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial">Select <strong>Merge_CSV_Files </strong>and press Run</font></pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><strong><font face="Arial">&#8216; Start Code</font></strong></pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial">Declare Function OpenProcess Lib &quot;kernel32&quot; _<br />        (ByVal dwDesiredAccess As Long, _<br />        ByVal bInheritHandle As Long, _<br />        ByVal dwProcessId As Long) As Long<br /> </font></pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial">Declare Function GetExitCodeProcess Lib &quot;kernel32&quot; _<br />        (ByVal hProcess As Long, _<br />        lpExitCode As Long) As Long<br /> </font></pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial">Public Const PROCESS_QUERY_INFORMATION = &amp;H400<br />Public Const STILL_ACTIVE = &amp;H103<br /> <br /><br /></font></pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial">Public Sub ShellAndWait(ByVal PathName As String, Optional WindowState)<br />    Dim hProg As Long<br />    Dim hProcess As Long, ExitCode As Long<br />    &#8216;fill in the missing parameter and execute the program<br />    If IsMissing(WindowState) Then WindowState = 1<br />    hProg = Shell(PathName, WindowState)<br />    &#8216;hProg is a &quot;process ID under Win32. To get the process handle:<br />    hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, False, hProg)<br />    Do<br />        &#8216;populate Exitcode variable<br />        GetExitCodeProcess hProcess, ExitCode<br />        DoEvents<br />    Loop While ExitCode = STILL_ACTIVE<br />End Sub</font></pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial"><strong>Sub Merge_CSV_Files()<br /></strong>    Dim BatFileName As String<br />    Dim TXTFileName As String<br />    Dim XLSFileName As String<br />    Dim DefPath As String<br />    Dim Wb As Workbook<br />    Dim oApp As Object<br />    Dim oFolder<br />    Dim foldername</font></pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial"></font><font color="#000080">    &#8216;Create two temporary file names<br /></font>    BatFileName = Environ(&quot;Temp&quot;) &amp; &quot;\CollectCSVData&quot; &amp; Format(Now, &quot;dd-mm-yy-h-mm-ss&quot;) &amp; &quot;.bat&quot;<br />    TXTFileName = Environ(&quot;Temp&quot;) &amp; &quot;\AllCSV&quot; &amp; Format(Now, &quot;dd-mm-yy-h-mm-ss&quot;) &amp; &quot;.txt&quot;</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial"></font><font color="#000080">    &#8216; Create path to xls file<br /></font>    DefPath = Application.DefaultFilePath<br />    If Right(DefPath, 1) &lt;&gt; &quot;\&quot; Then<br />        DefPath = DefPath &amp; &quot;\&quot;<br />    End If<br />    XLSFileName = DefPath &amp; &quot;MasterCSV &quot; &amp; Format(Now, &quot;dd-mm-yy h-mm-ss&quot;) &amp; &quot;.xls&quot;</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial"></font><font color="#000080">    &#8216;Browse to the folder with CSV files<br /></font>    Set oApp = CreateObject(&quot;Shell.Application&quot;)<br />    Set oFolder = oApp.BrowseForFolder(0, &quot;Select folder with CSV files&quot;, 512)<br />    If Not oFolder Is Nothing Then<br />        foldername = oFolder.Self.Path<br />        If Right(foldername, 1) &lt;&gt; &quot;\&quot; Then<br />            foldername = foldername &amp; &quot;\&quot;<br />        End If</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial"></font><font color="#000080">        &#8216;Create the bat file<br /></font>        Open BatFileName For Output As #1<br />        Print #1, &quot;Copy &quot; &amp; Chr(34) &amp; foldername &amp; &quot;*.csv&quot; &amp; Chr(34) &amp; &quot; &quot; &amp; TXTFileName<br />        Close #1</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial"></font><font color="#000080">        &#8216;Run the Bat file to collect all data from the CSV files into a TXT file<br /></font>        ShellAndWait BatFileName, 0</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial">        If Dir(TXTFileName) = &quot;&quot; Then<br />            MsgBox &quot;There are no csv files in this folder&quot;<br />            Kill BatFileName<br />            Exit Sub<br />        End If</font></pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial"></font><font color="#000080">        &#8216;Open the TXT file in Excel<br /></font>        Application.ScreenUpdating = False<br />        Workbooks.OpenText Filename:=TXTFileName, Origin:=xlWindows, StartRow _<br />                :=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _<br />                ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False, Comma:=True, _<br />                Space:=False, Other:=False</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial" color="#000080"> </font><font face="Arial"></font><font color="#000080">       &#8216;Save text file as a XLS file<br /></font>        Set Wb = ActiveWorkbook<br />        Application.DisplayAlerts = False<br />        Wb.SaveAs Filename:=XLSFileName, FileFormat:=xlWorkbookNormal<br />        Application.DisplayAlerts = True</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial">        Wb.Close savechanges:=False<br />        MsgBox &quot;You find the XLS file here: &quot; &amp; XLSFileName<br />        </font></pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial"></font><font color="#000080">        &#8216;Delete the bat and text file you have create<br /></font>        Kill BatFileName<br />        Kill TXTFileName</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial">        Application.ScreenUpdating = True<br />    End If<br />End Sub</font></pre>

<p><strong><font size="2" face="Arial">&#8216; End code</font></strong></p>
<p>&nbsp;</p>
]]></description>
			<content:encoded><![CDATA[
<p>&nbsp;</p><p><a title="merge csv" href="http://www.rondebruin.nl/csv.htm">Found </a>this cool script to merge a bunch of CSVs into one big one. works great after you use my other post on <a href="http://jointtech.com/today-a-client-asked/xls-csv-convert/" title="xls to csv conversion">XLS to CSV convertion</a>.<br /></p><pre style="margin-top: 0px; margin-bottom: 0px;"><font face="Arial"><strong>Ron de Bruin</strong> (last update 17 March 2006)</font></pre><pre style="margin-top: 0px; margin-bottom: 0px;">&nbsp;</pre><pre style="margin-top: 0px; margin-bottom: 0px;"><font face="Arial"><strong>1)</strong> Non VBA example from Dave Peterson </font></pre><pre style="margin-top: 0px; margin-bottom: 0px;"><font face="Arial"><strong>2) </strong>VBA example I made based on Dave&#8217;s example</font></pre>
<pre style="margin-top: 0px; margin-bottom: 0px;">&nbsp;</pre>
<p style="margin-top: 0pt; margin-bottom: 0pt;"><font size="2" face="Arial"><strong>Note:</strong> 
with a few small changes you can also use this for txt files</font></p>
<p style="margin-top: 0pt; margin-bottom: 0pt;"><font size="2" face="Arial">Change
</font> <font size="2" face="Arial" color="#000080">*.csv </font> 
<font size="2" face="Arial">to</font><font size="2" face="Arial" color="#000080"> 
*.txt i</font><font size="2" face="Arial">n example 1 and 2 and in the code also 
use</font><font size="2" face="Arial" color="#000080"> Tab = true</font></p>
<p style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</p>
<p style="margin-top: 0pt; margin-bottom: 0pt;"><u><strong><font size="4" face="Arial">
Example 1</font></strong></u></p>
<p style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</p>
<p style="margin-top: 0pt; margin-bottom: 0pt;"><strong><font size="2" face="Arial">Merge 
all data from the csv files into a text file</font></strong></p>
<p style="margin-top: 0pt; margin-bottom: 0pt;"><font size="2" face="Arial"><br />
1) Windows Start Button | Run <br />
2) Type </font><font color="#000080">cmd</font> and hit enter (&quot;command&quot; in Win 98)<br />
3) Go to the folder with the CSV files (for help enter &quot;help cd&quot;) </p>
<p style="margin-top: 0pt; margin-bottom: 0pt;"><font size="2" face="Arial">4) Type </font><font color="#000080">copy 
*.csv all.txt</font> and hit enter to copy all data in the files into all.txt.</p>
<p style="margin-top: 0pt; margin-bottom: 0pt;"><font size="2" face="Arial">5) Type </font><font color="#000080">exit</font> 
and hit enter 
to close the DOS window</p>
<p style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</p>
<p style="margin-top: 0pt; margin-bottom: 0pt;"><strong><font size="2" face="Arial">Now we 
must import the text file </font><font color="#000080">all.txt i</font>nto Excel.</strong></p>
<p style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</p>
<p style="margin-top: 0pt; margin-bottom: 0pt;"><font size="2" face="Arial">1) Open 
Excel</font></p>
<p style="margin-top: 0pt; margin-bottom: 0pt;"><font size="2" face="Arial">2) When 
you use File Open to open <strong>all.txt </strong>the Text Import Wizard will help you import 
the file</font></p>
<p style="margin-top: 0pt; margin-bottom: 0pt;"><font size="2" face="Arial">3) Choose 
Delimited</font></p>
<p style="margin-top: 0pt; margin-bottom: 0pt;"><font size="2" face="Arial">4) Next</font></p>
<p style="margin-top: 0pt; margin-bottom: 0pt;"><font size="2" face="Arial">5) Check 
Comma</font></p>
<p style="margin-top: 0pt; margin-bottom: 0pt;"><font size="2" face="Arial">6) Finish</font></p>
<p style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</p>
<p style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</p>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><u><strong><font size="4" face="Arial">Example 2</font></strong></u></pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial">This code will ask you to browse to the folder with the csv files and after you click OK in this dialog</font></pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial">it merge all data into a txt file and then import and save it into a Excel file for you.</font></pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial">If you want to have more control then you can also use code from this page to open the csv files and copy.</font></pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial"><a href="http://www.rondebruin.nl/copy3.htm">http://www.rondebruin.nl/copy3.htm</a></font></pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial">Change <strong>xls</strong> in the code to <strong>csv</strong> if you want to use it.</font></pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><strong><font face="Arial">Copy the code below into a normal module of a workbook :</font></strong></pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial">Alt-F11</font></pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial">Insert&gt;Module</font></pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial">Paste the macro</font></pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial">Alt q to go back to Excel</font></pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial">Alt F8 to open your macro list</font></pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial">Select <strong>Merge_CSV_Files </strong>and press Run</font></pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><strong><font face="Arial">&#8216; Start Code</font></strong></pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial">Declare Function OpenProcess Lib &quot;kernel32&quot; _<br />        (ByVal dwDesiredAccess As Long, _<br />        ByVal bInheritHandle As Long, _<br />        ByVal dwProcessId As Long) As Long<br /> </font></pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial">Declare Function GetExitCodeProcess Lib &quot;kernel32&quot; _<br />        (ByVal hProcess As Long, _<br />        lpExitCode As Long) As Long<br /> </font></pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial">Public Const PROCESS_QUERY_INFORMATION = &amp;H400<br />Public Const STILL_ACTIVE = &amp;H103<br /> <br /><br /></font></pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial">Public Sub ShellAndWait(ByVal PathName As String, Optional WindowState)<br />    Dim hProg As Long<br />    Dim hProcess As Long, ExitCode As Long<br />    &#8216;fill in the missing parameter and execute the program<br />    If IsMissing(WindowState) Then WindowState = 1<br />    hProg = Shell(PathName, WindowState)<br />    &#8216;hProg is a &quot;process ID under Win32. To get the process handle:<br />    hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, False, hProg)<br />    Do<br />        &#8216;populate Exitcode variable<br />        GetExitCodeProcess hProcess, ExitCode<br />        DoEvents<br />    Loop While ExitCode = STILL_ACTIVE<br />End Sub</font></pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial"><strong>Sub Merge_CSV_Files()<br /></strong>    Dim BatFileName As String<br />    Dim TXTFileName As String<br />    Dim XLSFileName As String<br />    Dim DefPath As String<br />    Dim Wb As Workbook<br />    Dim oApp As Object<br />    Dim oFolder<br />    Dim foldername</font></pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial"></font><font color="#000080">    &#8216;Create two temporary file names<br /></font>    BatFileName = Environ(&quot;Temp&quot;) &amp; &quot;\CollectCSVData&quot; &amp; Format(Now, &quot;dd-mm-yy-h-mm-ss&quot;) &amp; &quot;.bat&quot;<br />    TXTFileName = Environ(&quot;Temp&quot;) &amp; &quot;\AllCSV&quot; &amp; Format(Now, &quot;dd-mm-yy-h-mm-ss&quot;) &amp; &quot;.txt&quot;</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial"></font><font color="#000080">    &#8216; Create path to xls file<br /></font>    DefPath = Application.DefaultFilePath<br />    If Right(DefPath, 1) &lt;&gt; &quot;\&quot; Then<br />        DefPath = DefPath &amp; &quot;\&quot;<br />    End If<br />    XLSFileName = DefPath &amp; &quot;MasterCSV &quot; &amp; Format(Now, &quot;dd-mm-yy h-mm-ss&quot;) &amp; &quot;.xls&quot;</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial"></font><font color="#000080">    &#8216;Browse to the folder with CSV files<br /></font>    Set oApp = CreateObject(&quot;Shell.Application&quot;)<br />    Set oFolder = oApp.BrowseForFolder(0, &quot;Select folder with CSV files&quot;, 512)<br />    If Not oFolder Is Nothing Then<br />        foldername = oFolder.Self.Path<br />        If Right(foldername, 1) &lt;&gt; &quot;\&quot; Then<br />            foldername = foldername &amp; &quot;\&quot;<br />        End If</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial"></font><font color="#000080">        &#8216;Create the bat file<br /></font>        Open BatFileName For Output As #1<br />        Print #1, &quot;Copy &quot; &amp; Chr(34) &amp; foldername &amp; &quot;*.csv&quot; &amp; Chr(34) &amp; &quot; &quot; &amp; TXTFileName<br />        Close #1</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial"></font><font color="#000080">        &#8216;Run the Bat file to collect all data from the CSV files into a TXT file<br /></font>        ShellAndWait BatFileName, 0</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial">        If Dir(TXTFileName) = &quot;&quot; Then<br />            MsgBox &quot;There are no csv files in this folder&quot;<br />            Kill BatFileName<br />            Exit Sub<br />        End If</font></pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial"></font><font color="#000080">        &#8216;Open the TXT file in Excel<br /></font>        Application.ScreenUpdating = False<br />        Workbooks.OpenText Filename:=TXTFileName, Origin:=xlWindows, StartRow _<br />                :=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _<br />                ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False, Comma:=True, _<br />                Space:=False, Other:=False</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial" color="#000080"> </font><font face="Arial"></font><font color="#000080">       &#8216;Save text file as a XLS file<br /></font>        Set Wb = ActiveWorkbook<br />        Application.DisplayAlerts = False<br />        Wb.SaveAs Filename:=XLSFileName, FileFormat:=xlWorkbookNormal<br />        Application.DisplayAlerts = True</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial">        Wb.Close savechanges:=False<br />        MsgBox &quot;You find the XLS file here: &quot; &amp; XLSFileName<br />        </font></pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial"></font><font color="#000080">        &#8216;Delete the bat and text file you have create<br /></font>        Kill BatFileName<br />        Kill TXTFileName</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;">&nbsp;</pre>
<pre style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Arial">        Application.ScreenUpdating = True<br />    End If<br />End Sub</font></pre>

<p><strong><font size="2" face="Arial">&#8216; End code</font></strong></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://jointtech.com/today-a-client-asked/merge-csvs/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Batch convert XLS to CSV</title>
		<link>http://jointtech.com/today-a-client-asked/xls-csv-convert/</link>
		<comments>http://jointtech.com/today-a-client-asked/xls-csv-convert/#comments</comments>
		<pubDate>Thu, 03 May 2007 04:17:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Today a Client Asked...]]></category>

		<category><![CDATA[Tech Stuff]]></category>

		<guid isPermaLink="false">http://jointtech.com/today-a-client-asked/xls-csv-convert/</guid>
		<description><![CDATA[
<p>Batch convert XLS to CSV.</p><p>This worked for me in Excel 2007.&nbsp; Works great.&nbsp; I saw software that does this for $19.99 up to $120.99.</p><p>After this you can <a href="http://jointtech.com/today-a-client-asked/merge-csvs/" title="merge csvs">Merge the CSVs</a> into one file.&nbsp;</p><p>Originally posted to a <a title="Batch Convert XLS to CSV" href="http://groups.google.com/group/microsoft.public.excel/msg/3ae8d311f8227d1e?q=workbooks+saveas+csv&amp;hl=en&amp;lr=lang_en&amp;ie=UTF-8&amp;newwindow=1&amp;as_qdr=y&amp;rnum=22">google group</a> by Dave Peterson.</p><p><br /></p><p>&nbsp;</p><p>Option Explicit <br /> Sub testme01() <br /> </p><p>&nbsp; &nbsp; Application.ScreenUpdating = False <br /> </p><p>&nbsp; &nbsp; Dim myFiles() As String <br /> &nbsp; &nbsp; Dim fCtr As Long <br /> &nbsp; &nbsp; Dim myFile As String <br /> &nbsp; &nbsp; Dim myPath As String <br /> &nbsp; &nbsp; Dim tempWkbk As Workbook <br /> &nbsp; &nbsp; Dim logWks As Worksheet <br /> &nbsp; &nbsp; Dim tempName As String <br /> &nbsp; &nbsp; Dim wks As Worksheet <br /> &nbsp; &nbsp; Dim oRow As Long <br /> </p><p>&nbsp; &nbsp; &#8216;change to point at the folder to check <br /> &nbsp; &nbsp; myPath = &quot;c:\my documents\excel\test&quot; <br /> &nbsp; &nbsp; If Right(myPath, 1) &lt;&gt; &quot;\&quot; Then <br /> &nbsp; &nbsp; &nbsp; &nbsp; myPath = myPath &amp; &quot;\&quot; <br /> &nbsp; &nbsp; End If <br /> </p><p>&nbsp; &nbsp; myFile = Dir(myPath &amp; &quot;*.xls&quot;) <br /> &nbsp; &nbsp; If myFile = &quot;&quot; Then <br /> &nbsp; &nbsp; &nbsp; &nbsp; MsgBox &quot;no files found&quot; <br /> &nbsp; &nbsp;<span style="background-color: rgb(255, 255, 255);"> &nbsp; &nbsp; Exit Sub </span><br style="background-color: rgb(255, 255, 255);" /><span style="background-color: rgb(255, 255, 255);"> &nbsp; &nbsp; End If </span><br style="background-color: rgb(255, 255, 255);" /> </p><p style="background-color: rgb(255, 255, 255);">&nbsp; &nbsp; Set logWks = <strong style="color: black;">Workbooks</strong>.Add(1).Worksheets(1) <br /> &nbsp; &nbsp; logWks.Range(&quot;a1&quot;).Resize(1, 3).Value _ <br /> &nbsp; &nbsp; &nbsp; &nbsp; = Array(&quot;WkbkName&quot;, &quot;WkSheetName&quot;, &quot;<strong style="color: black;">CSV</strong> Name&quot;) <br /> </p><p style="background-color: rgb(255, 255, 255);">&nbsp; &nbsp; &#8216;get the list of files <br /> &nbsp; &nbsp; fCtr = 0 <br /> &nbsp; &nbsp; Do While myFile &lt;&gt; &quot;&quot; <br /> &nbsp; &nbsp; &nbsp; &nbsp; fCtr = fCtr + 1 <br /> &nbsp; &nbsp; &nbsp; &nbsp; ReDim Preserve myFiles(1 To fCtr) <br /> &nbsp; &nbsp; &nbsp; &nbsp; myFiles(fCtr) = myFile <br /> &nbsp; &nbsp; &nbsp; &nbsp; myFile = Dir() <br /> &nbsp; &nbsp; Loop <br /> </p><p style="background-color: rgb(255, 255, 255);">&nbsp; &nbsp; If fCtr &gt; 0 Then <br /> &nbsp; &nbsp; &nbsp; &nbsp; oRow = 1 <br /> &nbsp; &nbsp; &nbsp; &nbsp; For fCtr = LBound(myFiles) To UBound(myFiles) <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Set tempWkbk = Nothing <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; On Error Resume Next <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Set tempWkbk = <strong style="color: black;">Workbooks</strong>.Open(Filename:=myPath &amp; myFiles(fCtr)) <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; On Error GoTo 0 <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; If tempWkbk Is Nothing Then <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; logWks.Cells(oRow, &quot;A&quot;).Value = &quot;Error Opening: &quot; _ <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &amp; myFiles(fCtr) <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; oRow = oRow + 1 <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Else <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; For Each wks In tempWkbk.Worksheets <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; With wks <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; If Application.CountA(.UsedRange) = 0 Then <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8216;do nothing <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Else <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .Copy &#8216;to a new workbook <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tempName = myPath &amp; Trim(.Name) &amp; &quot;.<strong style="color: black;">csv</strong>&quot; <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Do <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; If Dir(tempName) = &quot;&quot; Then <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Exit Do <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Else <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tempName = myPath &amp; Trim(.Name) &amp; &quot;_&quot; _ <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &amp; Format(Time, &quot;hhmmss&quot;) &amp; &quot;.<strong style="color: black;">csv</strong>&quot; <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; End If <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Loop <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; oRow = oRow + 1 <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; With ActiveWorkbook <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .<strong style="color: black;">SaveAs</strong> Filename:=tempName, FileFormat:=xlCSV <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .Close savechanges:=False <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; End With <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; logWks.Cells(oRow, &quot;A&quot;).Value = myFiles(fCtr) <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; logWks.Cells(oRow, &quot;b&quot;).Value = .Name <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; logWks.Cells(oRow, &quot;C&quot;).Value = tempName <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; End If <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; End With <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Next wks <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tempWkbk.Close savechanges:=False <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; End If <br /> &nbsp; &nbsp; &nbsp; &nbsp; Next fCtr <br /> &nbsp; &nbsp; End If <br /> </p><p><span style="background-color: rgb(255, 255, 255);">&nbsp; &nbsp; With logWks.UsedRange </span><br style="background-color: rgb(255, 255, 255);" /><span style="background-color: rgb(255, 255, 255);"> &nbsp; &nbsp; &nbsp; &nbsp; .AutoFilter </span><br style="background-color: rgb(255, 255, 255);" /><span style="background-color: rgb(255, 255, 255);"> &nbsp; &nbsp; &nbsp; &nbsp; .Columns.AutoFit </span><br style="background-color: rgb(255, 255, 255);" /><span style="background-color: rgb(255, 255, 255);"> &nbsp; &nbsp; End With </span><br /> </p><p>&nbsp; &nbsp; Application.ScreenUpdating = True <br /> </p><p>End Sub <br /> </p><p>If you&#8217;re new to macros, you may want to read David McRitchie&#8217;s intro at: <br /> <a href="http://www.mvps.org/dmcritchie/excel/getstarted.htm" rel="nofollow" target="_blank">http://www.mvps.org/dmcritchie/excel/getstarted.htm</a> <br /> </p><p>Short course: <br /> Start a new workbook <br /> Hit alt-f11 to get to the VBE (where macros/UDF&#8217;s live) <br /> hit ctrl-R to view the project explorer <br /> Find your workbook. <br /> should look like: &nbsp; VBAProject (yourfilename.xls) &nbsp; <br /> </p><p>right click on the project name <br /> Insert, then Module <br /> You should see the code window pop up on the right hand side <br /> </p><p>Paste the code in there. &nbsp; <br /> </p><p>Modify the folder that contains the .xls files. <br /> myPath = &quot;c:\my documents\excel\test&quot; <br /> to what you need. <br /> </p><p>Now go back to excel. <br /> Save your workbook (so you can run the macro) <br /> </p><p>When you want to run or rerun: <br /> Open this workbook <br /> (fix the folder name in the code if it changed) <br /> </p>click on Tools|macro|macros&#8230; <br /> click on the macro name (testme01, but you can rename it!) <br /> and then click run. 
]]></description>
			<content:encoded><![CDATA[
<p>Batch convert XLS to CSV.</p><p>This worked for me in Excel 2007.&nbsp; Works great.&nbsp; I saw software that does this for $19.99 up to $120.99.</p><p>After this you can <a href="http://jointtech.com/today-a-client-asked/merge-csvs/" title="merge csvs">Merge the CSVs</a> into one file.&nbsp;</p><p>Originally posted to a <a title="Batch Convert XLS to CSV" href="http://groups.google.com/group/microsoft.public.excel/msg/3ae8d311f8227d1e?q=workbooks+saveas+csv&amp;hl=en&amp;lr=lang_en&amp;ie=UTF-8&amp;newwindow=1&amp;as_qdr=y&amp;rnum=22">google group</a> by Dave Peterson.</p><p><br /></p><p>&nbsp;</p><p>Option Explicit <br /> Sub testme01() <br /> </p><p>&nbsp; &nbsp; Application.ScreenUpdating = False <br /> </p><p>&nbsp; &nbsp; Dim myFiles() As String <br /> &nbsp; &nbsp; Dim fCtr As Long <br /> &nbsp; &nbsp; Dim myFile As String <br /> &nbsp; &nbsp; Dim myPath As String <br /> &nbsp; &nbsp; Dim tempWkbk As Workbook <br /> &nbsp; &nbsp; Dim logWks As Worksheet <br /> &nbsp; &nbsp; Dim tempName As String <br /> &nbsp; &nbsp; Dim wks As Worksheet <br /> &nbsp; &nbsp; Dim oRow As Long <br /> </p><p>&nbsp; &nbsp; &#8216;change to point at the folder to check <br /> &nbsp; &nbsp; myPath = &quot;c:\my documents\excel\test&quot; <br /> &nbsp; &nbsp; If Right(myPath, 1) &lt;&gt; &quot;\&quot; Then <br /> &nbsp; &nbsp; &nbsp; &nbsp; myPath = myPath &amp; &quot;\&quot; <br /> &nbsp; &nbsp; End If <br /> </p><p>&nbsp; &nbsp; myFile = Dir(myPath &amp; &quot;*.xls&quot;) <br /> &nbsp; &nbsp; If myFile = &quot;&quot; Then <br /> &nbsp; &nbsp; &nbsp; &nbsp; MsgBox &quot;no files found&quot; <br /> &nbsp; &nbsp;<span style="background-color: rgb(255, 255, 255);"> &nbsp; &nbsp; Exit Sub </span><br style="background-color: rgb(255, 255, 255);" /><span style="background-color: rgb(255, 255, 255);"> &nbsp; &nbsp; End If </span><br style="background-color: rgb(255, 255, 255);" /> </p><p style="background-color: rgb(255, 255, 255);">&nbsp; &nbsp; Set logWks = <strong style="color: black;">Workbooks</strong>.Add(1).Worksheets(1) <br /> &nbsp; &nbsp; logWks.Range(&quot;a1&quot;).Resize(1, 3).Value _ <br /> &nbsp; &nbsp; &nbsp; &nbsp; = Array(&quot;WkbkName&quot;, &quot;WkSheetName&quot;, &quot;<strong style="color: black;">CSV</strong> Name&quot;) <br /> </p><p style="background-color: rgb(255, 255, 255);">&nbsp; &nbsp; &#8216;get the list of files <br /> &nbsp; &nbsp; fCtr = 0 <br /> &nbsp; &nbsp; Do While myFile &lt;&gt; &quot;&quot; <br /> &nbsp; &nbsp; &nbsp; &nbsp; fCtr = fCtr + 1 <br /> &nbsp; &nbsp; &nbsp; &nbsp; ReDim Preserve myFiles(1 To fCtr) <br /> &nbsp; &nbsp; &nbsp; &nbsp; myFiles(fCtr) = myFile <br /> &nbsp; &nbsp; &nbsp; &nbsp; myFile = Dir() <br /> &nbsp; &nbsp; Loop <br /> </p><p style="background-color: rgb(255, 255, 255);">&nbsp; &nbsp; If fCtr &gt; 0 Then <br /> &nbsp; &nbsp; &nbsp; &nbsp; oRow = 1 <br /> &nbsp; &nbsp; &nbsp; &nbsp; For fCtr = LBound(myFiles) To UBound(myFiles) <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Set tempWkbk = Nothing <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; On Error Resume Next <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Set tempWkbk = <strong style="color: black;">Workbooks</strong>.Open(Filename:=myPath &amp; myFiles(fCtr)) <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; On Error GoTo 0 <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; If tempWkbk Is Nothing Then <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; logWks.Cells(oRow, &quot;A&quot;).Value = &quot;Error Opening: &quot; _ <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &amp; myFiles(fCtr) <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; oRow = oRow + 1 <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Else <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; For Each wks In tempWkbk.Worksheets <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; With wks <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; If Application.CountA(.UsedRange) = 0 Then <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8216;do nothing <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Else <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .Copy &#8216;to a new workbook <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tempName = myPath &amp; Trim(.Name) &amp; &quot;.<strong style="color: black;">csv</strong>&quot; <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Do <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; If Dir(tempName) = &quot;&quot; Then <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Exit Do <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Else <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tempName = myPath &amp; Trim(.Name) &amp; &quot;_&quot; _ <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &amp; Format(Time, &quot;hhmmss&quot;) &amp; &quot;.<strong style="color: black;">csv</strong>&quot; <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; End If <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Loop <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; oRow = oRow + 1 <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; With ActiveWorkbook <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .<strong style="color: black;">SaveAs</strong> Filename:=tempName, FileFormat:=xlCSV <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .Close savechanges:=False <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; End With <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; logWks.Cells(oRow, &quot;A&quot;).Value = myFiles(fCtr) <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; logWks.Cells(oRow, &quot;b&quot;).Value = .Name <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; logWks.Cells(oRow, &quot;C&quot;).Value = tempName <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; End If <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; End With <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Next wks <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tempWkbk.Close savechanges:=False <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; End If <br /> &nbsp; &nbsp; &nbsp; &nbsp; Next fCtr <br /> &nbsp; &nbsp; End If <br /> </p><p><span style="background-color: rgb(255, 255, 255);">&nbsp; &nbsp; With logWks.UsedRange </span><br style="background-color: rgb(255, 255, 255);" /><span style="background-color: rgb(255, 255, 255);"> &nbsp; &nbsp; &nbsp; &nbsp; .AutoFilter </span><br style="background-color: rgb(255, 255, 255);" /><span style="background-color: rgb(255, 255, 255);"> &nbsp; &nbsp; &nbsp; &nbsp; .Columns.AutoFit </span><br style="background-color: rgb(255, 255, 255);" /><span style="background-color: rgb(255, 255, 255);"> &nbsp; &nbsp; End With </span><br /> </p><p>&nbsp; &nbsp; Application.ScreenUpdating = True <br /> </p><p>End Sub <br /> </p><p>If you&#8217;re new to macros, you may want to read David McRitchie&#8217;s intro at: <br /> <a href="http://www.mvps.org/dmcritchie/excel/getstarted.htm" rel="nofollow" target="_blank">http://www.mvps.org/dmcritchie/excel/getstarted.htm</a> <br /> </p><p>Short course: <br /> Start a new workbook <br /> Hit alt-f11 to get to the VBE (where macros/UDF&#8217;s live) <br /> hit ctrl-R to view the project explorer <br /> Find your workbook. <br /> should look like: &nbsp; VBAProject (yourfilename.xls) &nbsp; <br /> </p><p>right click on the project name <br /> Insert, then Module <br /> You should see the code window pop up on the right hand side <br /> </p><p>Paste the code in there. &nbsp; <br /> </p><p>Modify the folder that contains the .xls files. <br /> myPath = &quot;c:\my documents\excel\test&quot; <br /> to what you need. <br /> </p><p>Now go back to excel. <br /> Save your workbook (so you can run the macro) <br /> </p><p>When you want to run or rerun: <br /> Open this workbook <br /> (fix the folder name in the code if it changed) <br /> </p>click on Tools|macro|macros&#8230; <br /> click on the macro name (testme01, but you can rename it!) <br /> and then click run. 
]]></content:encoded>
			<wfw:commentRss>http://jointtech.com/today-a-client-asked/xls-csv-convert/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Backup Data from Windows using Knoppix Part 2</title>
		<link>http://jointtech.com/tech-stuff/backup-data-from-windows-using-knoppix-part-2/</link>
		<comments>http://jointtech.com/tech-stuff/backup-data-from-windows-using-knoppix-part-2/#comments</comments>
		<pubDate>Fri, 06 Apr 2007 04:59:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Tech Stuff]]></category>

		<guid isPermaLink="false">http://jointtech.com/tech-stuff/backup-data-from-windows-using-knoppix-part-2/</guid>
		<description><![CDATA[
<h5>Q: I want to copy files to a windows box over the network</h5>
<p>A:
</p>
<ul><li>Second Method<br />
</li></ul>
<p>I boot with Knoppix from the CD drive. Once it has fully loaded to
the KDE desktop, I open a konsole command window. I assume the the hda1
(C: drive) is a FAT32 drive, so I mount it with the command:
</p>
<pre>sudo mount -t vfat -o ro,users /dev/hda1 /mnt/hda1<br /></pre>
<p>If instead the the hda1 (C: drive) is a NTFS drive, the I mount it with the command:
</p>
<pre>sudo mount -t ntfs -o ro,users /dev/hda1 /mnt/hda1<br /></pre>
<p>Next I open up the GUI file manager (called konqueror).
</p>
<pre>sudo konqueror<br /></pre>
<p>Once that comes up, in the location bar, I use the following to
authenticate to a Windows domain &amp; then access a windows networking
share.In the location bar:
</p>
<pre>smb:/domain\username@IP.address.of.machine<br /></pre>
<p>If you do not need to authenticate to a domain, the form is:
</p>
<pre>smb:/hostname<br /></pre>
<p>or
</p>
<pre>smb:/IP.address.of.machine<br /></pre>
<p>This allows me to access windows shares. I navigate to where I want
to save the data, then hit the keys CTRL-T to open a tnew tabbed
window. Then in that location bar type: </p>
<pre>/mnt/hda1/<br /></pre>
<p>Now I see the hda1 (C: drive) contents. Just like in windows
explorer, select the file &amp; folders you want to copy, CTRL-C or
right-click &amp; copy them. Use the mouse &amp; move over to the other
tab with the smb connection, then CTRL-V or right-click paste to
initiate the transfer. When you are done copying files, close the
konqueror window, click the KDE K menu and choose to reboot/shutdown
the PC. TO shutdown the PC by command:
</p>
<pre>sudo init 0<br /></pre>
<ul><li> Other method, in which both directions are possible. Either start SAMBA or mount the remote share.
<ul><li> &quot;sudo /etc/init.d/samba start&quot;, add users with &quot;smbpasswd -a
knoppix&quot;. After this, the home directory of user knoppix will be shared
as readonly. If you need other shares, edit /etc/samba/smb.conf and
restart samba (replace &quot;start&quot; with &quot;restart&quot;).
</li><li> &quot;mkdir tmp/share; sudo mount -t smbfs -o
username=Administrator //otherbox/share /tmp/share&quot; (maybe start samba
too to get rid of the warnings, especialy when using &quot;nmblookup&quot;)
</li></ul>
</li><li> Or you can obtain a lissetup.sh (&quot;wget
http://users.volja.net/zejnovi/lissetup.sh&quot; in console). After doing
that, in console, type: &quot;chmod +x lissetup.sh&quot;, and then
&quot;./lissetup.sh&quot;. After doing this, you can use the LAN browser in
Konqueror.
</li></ul>
]]></description>
			<content:encoded><![CDATA[
<h5>Q: I want to copy files to a windows box over the network</h5>
<p>A:
</p>
<ul><li>Second Method<br />
</li></ul>
<p>I boot with Knoppix from the CD drive. Once it has fully loaded to
the KDE desktop, I open a konsole command window. I assume the the hda1
(C: drive) is a FAT32 drive, so I mount it with the command:
</p>
<pre>sudo mount -t vfat -o ro,users /dev/hda1 /mnt/hda1<br /></pre>
<p>If instead the the hda1 (C: drive) is a NTFS drive, the I mount it with the command:
</p>
<pre>sudo mount -t ntfs -o ro,users /dev/hda1 /mnt/hda1<br /></pre>
<p>Next I open up the GUI file manager (called konqueror).
</p>
<pre>sudo konqueror<br /></pre>
<p>Once that comes up, in the location bar, I use the following to
authenticate to a Windows domain &amp; then access a windows networking
share.In the location bar:
</p>
<pre>smb:/domain\username@IP.address.of.machine<br /></pre>
<p>If you do not need to authenticate to a domain, the form is:
</p>
<pre>smb:/hostname<br /></pre>
<p>or
</p>
<pre>smb:/IP.address.of.machine<br /></pre>
<p>This allows me to access windows shares. I navigate to where I want
to save the data, then hit the keys CTRL-T to open a tnew tabbed
window. Then in that location bar type: </p>
<pre>/mnt/hda1/<br /></pre>
<p>Now I see the hda1 (C: drive) contents. Just like in windows
explorer, select the file &amp; folders you want to copy, CTRL-C or
right-click &amp; copy them. Use the mouse &amp; move over to the other
tab with the smb connection, then CTRL-V or right-click paste to
initiate the transfer. When you are done copying files, close the
konqueror window, click the KDE K menu and choose to reboot/shutdown
the PC. TO shutdown the PC by command:
</p>
<pre>sudo init 0<br /></pre>
<ul><li> Other method, in which both directions are possible. Either start SAMBA or mount the remote share.
<ul><li> &quot;sudo /etc/init.d/samba start&quot;, add users with &quot;smbpasswd -a
knoppix&quot;. After this, the home directory of user knoppix will be shared
as readonly. If you need other shares, edit /etc/samba/smb.conf and
restart samba (replace &quot;start&quot; with &quot;restart&quot;).
</li><li> &quot;mkdir tmp/share; sudo mount -t smbfs -o
username=Administrator //otherbox/share /tmp/share&quot; (maybe start samba
too to get rid of the warnings, especialy when using &quot;nmblookup&quot;)
</li></ul>
</li><li> Or you can obtain a lissetup.sh (&quot;wget
http://users.volja.net/zejnovi/lissetup.sh&quot; in console). After doing
that, in console, type: &quot;chmod +x lissetup.sh&quot;, and then
&quot;./lissetup.sh&quot;. After doing this, you can use the LAN browser in
Konqueror.
</li></ul>
]]></content:encoded>
			<wfw:commentRss>http://jointtech.com/tech-stuff/backup-data-from-windows-using-knoppix-part-2/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
