Sorry for getting back *that* late...
> I need to get a copy of my Evolution contacts exported to Outlook.
Again someone asking us how to import to *Outlook*. Seems like Micros~1
does not use standards and has no support either...
> Someone on this list suggested saving them as a .vcf file I have tried
> this but Outlook will not read them in. It sees the first contact and
> imports it but ignores the rest.
Well, seems to be your lucky day...
[If it isn't too late already. Archives will be glad about this anyway.]
AFAIK this is an Outlook issue, as Outlook does not recognize any vCards
after the first one. However, I have already written a script to split
that vCard list into single vCard files only holding one Contact per
file and thus making Outlook happy.
I have tested the script on my local data and it did work for Outlook
2002, IIRC. Use it at your *own* *risk*, though.
[In fact, I even could just copy-n-paste my response. :)]
$ vcf-split.pl list.vcf
will split list.vcf into separate .vcf files. Be sure to have *no* other
files (beside the script and the list) in that directory, cause files
will be created without further checking! Overwriting does not generate
a warning. Of course you can/should have a look at the script yourself.
It uses the X-EVOLUTION-FILE-AS as unique file name (should be
reasonably unique for this purpose) and uses a number for vCards without
names.
Hopefully you can import all those .vcf files at once by marking them
all -- don't know. I hope, that gets you working...
> Any suggestions as to how to get
> contacts from Evolution to Outlook would be appreciated.
*sigh* Sure, this is open source. ;-)
...guenther
--
char *t="[EMAIL PROTECTED]";
main(){ char h,m=h=*t++,*x=t+2*h,c,i,l=*x,s=0; for (i=0;i<l;i++){ i%8? c<<=1:
(c=*++x); c&128 && (s+=h); if (!(h>>=1)||!t[s+h]){ putchar(t[s]);h=m;s=0; }}}
#!/usr/bin/perl
if (@ARGV !=1) {
print "usage: vcf-split.pl <list.vcf>\n";
exit;
}
$src = shift @ARGV;
# $out = 'out/'; # uncomment to change the diretory to save .vcf files
open SRC, $src or die "*** error: cannot open file $src\n";
$n = 0;
$vcf = '';
foreach (<SRC>) {
next unless (/^BEGIN:VCARD/ || $vcf);
$vcf .= $_;
$file = $1 if /^X-EVOLUTION-FILE-AS.*:(.*\S)/;
vcf();
}
vcf();
close SRC;
print "*** $n vcards saved.\n";
sub vcf {
if (/^END:VCARD/) {
$n++;
$file = $n unless $file;
open OUT, ">$out$file.vcf";
print OUT $vcf;
close OUT;
$vcf = $file = '';
}
}