Excel (und Outlook) via PIA

10/07/2009 - 15:40 von Udo Schneider | Report spam
Hallo Newsgruppe!

Habe ein Dokumentenmanagementsystem mit VS2005/C#.net 2.0 geschrieben.
Nun schlage ich mich noch mit (möglichen Bugs von?) MS PIA (für Office 03)
herum.

1. Ich kann zwar problemlos auf Word zugreifen und z.B. mithilfe einer .dot
ein
.doc erstellen. Wenn ich das gleiche mit Excel versuche, dann kann ich
zwar
auch mithilfe eines .xlt ein .xls erstellen und öffnen. Aber:
a)- Das Excel zeigt dann im Fenstertitelbalken "Microsoft Excel -
meinfile.XLS
[Freigegeben]". ...Ich habe keine Ahnung was dieses [Freigegeben]
bedeutet und ob das sein muss.
b)- Die Funktion "Zellen verbinden" ist deaktiviert (grau), und zwar
sowohl in
"Zellen formatieren" als auch der Button im Toolbar. Dies ist aber kein
Fehler der Vorlage, denn wenn ich diese manuell mit Excel öffne (also
nicht über C#) dann ist diese Funktion verwendbar. Gleiches gilt für
die Funktion "Diagramm einfügen" oder erstellen.

2. Ich muss ja in meinem Projekt einen Verweis auf die PIA dlls machen.
Dieser scheint dann fix die Versionsnummer zu enthalten (in meinem
Fall 11, da ich Office 2003 und zugehörige PIA auf meiner
Entwicklungsmaschine
habe). Ein solches Kompilat kann dann von Kunden verwendet werden, die
auf ihrem System Office 03 ODER Office 07 haben. Diejenigen Kunden, die
auf ihrem System aber ein Office XP haben bringen mein Programm nicht
zum Laufen (Fehlermeldung, dass PIA 11 nicht gefunden werde).
Kann ich dem Projekt / dem Kompilat nicht irgendwie beibringen, dass es
diejenige PIA Version verwenden soll, die zur jeweiligen Office-Version
des
Kunden passt?

3. An die Outlook-Schnittstelle habe ich mich bisher noch gar nicht
herangewagt.
Kennt jemand gute Links, wo ich nachlesen kann (deutsch oder englisch)
wie man (idealerweise mit dem gleichen Code für Outlook XP/03/07)
a)- Emails per DragNDrop von Outlook auf mein Applikationsfenster ziehen
und die darin enthaltenen Attachments speichern (und hierbei den
Versand-Timestamp der Email feststellen)
b)- Programmatisch aus C# heraus ein Email via das lokal installierte
Outlook
verschicken
c)- Aus dem C# eine Adressdatenbank (MS SQL 05) mit den Outlook-Kontakten
synchronisieren
kann? Idealerweise ohne dass die Entwicklung und Installation eines
Outlook-
Addin erforderlich ist.

Von all diesen Fragen ist Punkt 1b) der aktuell dringendste für mich.
Danke für Eure Hilfe im Voraus.

Gruss,
Udo
 

Lesen sie die antworten

#1 Udo Schneider
10/07/2009 - 22:42 | Warnen spam
Also Punkt 1b) scheint wirklich ein Fehler der Microsoft Primary Interop
Assembly
zu sein.
Oder hat es schon mal irgend jemand geschafft, aus C# heraus ein Excel zu
öffnen und dann war dort die Funktion "Zellen verbinden" verfügbar??

Ähnliche fragen