Mehrfaches öffnen einer Passwordgeschützen XLSX-Datei mit PIA/Inte

27/05/2009 - 13:55 von Herr E. | Report spam
Hallo,

Ich habe ein Programm, dass über Excel Interops XLS und XLSX Dateien in
Excel 2007 öffnet. das bisher verwendete Office Dateiformat (XLS) machte auch
nie Probleme. mit dem Aufruf von:

Microsoft.Office.Interop.Excel.ApplicationClass ExcelApp = new
Microsoft.Office.Interop.Excel.ApplicationClass();
object missing = System.Reflection.Missing.Value;
mExcelApp.Workbooks.Open(docPath,missing, missing, missing,
(object)pivotPwd, missing, missing, missing, missing, missing, missing,
missing,
missing, missing, missing);

wurden alle Passwortgeschützten Exceldateien geöffnet. Auch (und da liegt
auch mein Problem) wenn die gleiche Datei mehrfach geöffnet wurde, wurde der
Benutzer nie nach dem Password gefragt. Die Datei wurde beim zweiten öffnen
einfach Schreibgeschützt geöffnet.

sobald ich allerdings Passwordgeschützte XLSX Dateien verwende, bekomme ich
beim zweiten, parallelen öffnen der Datei den Passworddialog von Excel
angezeigt. Obwohl der Aufruf genau der gleiche ist (Passwort wird auch hier
mitübergeben)

Es spielt dabei auch keine Rolle, ob ich die Interop Assemblys von Office
2003 oder 2007 benutze. Der Fehler bleibt der gleiche.
Eine Internetrecherche hat mit leider bisher nicht weitergebracht, daher
versuche ich hier mein glück. Kann es sein, dass es sich hier um einen Bug in
Office 2007 handelt?

mfg
Herr E.
 

Lesen sie die antworten

#1 Dr. Eckehard Pfeifer
27/05/2009 - 20:37 | Warnen spam
Hallo, es macht wohl nicht viel Sinn (oder doch?), wenn für jedes Öffnen
eine neue Instanz von Excel gerufen wird. Und so funktioniert

Microsoft.Office.Interop.Excel.Application xlapp;

private void button1_Click(object sender, EventArgs e)
{
object m = System.Reflection.Missing.Value;
if(xlapp==null)
xlapp=new Microsoft.Office.Interop.Excel.Application();
xlapp.Visible = true;
xlapp.Workbooks.Open("x:\\mappe1.xlsx",m,m,m,(object)"pwd",(object)"pwd",m,m,m,m,m,m,m,m,m);
}

auch wie erwartet. Unter welchen Umstànden wo ein Bug ist, ist damit nicht
geklàrt (denn eigentlich sollte ja Dein Code auch funktionieren),

MfG EP
Entwicklung - Beratung - Training (www.dr-e-pfeifer.net)
XL-Maxibuch (ISBN: 3-86645-231-4)
Microsoft Office 2007-Programmierung (ISBN 3-86645-415-5)

Ähnliche fragen