Word-Automatisierung in C#. - Fehler bei der Verwendung von speichern unter
Ich erhalte die folgende Fehlermeldung, wenn Sie versuchen zu Save as Document Object
beim Versuch der Umsetzung einer word-Automatisierung in C#:
System.Runtime.InteropServices.COMException
(0x80020005): Type mismatch.
(Ausnahme von HRESULT: 0x80020005
(DISP_E_TYPEMISMATCH))at Microsoft.Office.Interop.Word.DocumentClass.SaveAs(Object&
FileName, Objekt& FileFormat -, Objekt - &
LockComments, Objekt - & Kennwort
Objekt - & AddToRecentFiles, Object&
WritePassword, Object&
ReadOnlyRecommended, Object&
EmbedTrueTypeFonts, Object&
SaveNativePictureFormat, Object&
SaveFormsData, Object&
SaveAsAOCELetter, Objekt - & Kodierung
Objekt - & InsertLineBreaks, Object&
AllowSubstitutions, Object&
LineEnding -, Objekt - & AddBiDiMarks)at TestWordAutomation.Form1.SaveAs(String
Dateiname) in
D:\dotnet\WordAutomation\TestWordAutomation\TestWordAutomation\Form1.cs:Zeile
246at TestWordAutomation.Form1.button4_Click(Object
sender, EventArgs e) in
D:\dotnet\WordAutomation\TestWordAutomation\TestWordAutomation\Form1.cs:Zeile
557
Ich rufe die Save As
Methode etwa so:
MySaveAs("Doc1.doc");
MySaveAs("Doc2.doc");
MySaveAs("Doc3.doc");
//I have a MySaveAs function
public void MySaveAs(string fileName)
{
object FileName = null, FileFormat = null, LockComments = null, _Password = null, AddToRecentFiles = null, _WritePassword = null, _ReadOnlyRecommended = null, _EmbedTrueTypeFonts = null, SaveNativePictureFormat = null, _SaveFormsData = null, SaveAsAOCELetter = null, Encoding = null, InsertLineBreaks = null, AllowSubstitutions = null, LineEnding = null, AddBiDiMarks = null;
FileName = (object) fileName;
oDoc.SaveAs(ref FileName, ref FileFormat, ref LockComments, ref _Password, ref AddToRecentFiles,
ref _WritePassword, ref _ReadOnlyRecommended, ref _EmbedTrueTypeFonts,
ref SaveNativePictureFormat, ref _SaveFormsData, ref SaveAsAOCELetter, ref Encoding,
ref InsertLineBreaks, ref AllowSubstitutions, ref LineEnding, ref AddBiDiMarks);
}
Kann einer mir helfen diese zu lösen ?
- Bitte nicht schließen/löschen; diese Frage ist Teil einer offenen, ALSO Bug: stackoverflow.uservoice.com/pages/general/suggestions/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
'Tis schmerzhaft. Ich erinnere mich, dass das arbeiten mit der Word - /Excel-Interop. Nicht leichtfertig, aber einer der Parameter hat einen falschen Typ. Hoffentlich wird das folgende hilft, aber ich habe eine Reihe von diesen Arten von Definitionen.
Können Sie nicht übergeben Sie den Wert null in die interop-function-call - Nutzung Fehlt.Wert-statt (wie vorgeschlagen von Kenny)