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 = '';
    }
}

Reply via email to