2010-03-23 5 views
0

J'ai créé en C# une application pour interagir avec Excel .net L'API pour enregistrer le ExcelEnregistrer Excel échoue dans Windows 7

Excel._Workbook m_oWorkBook; 
m_oWorkBook.Save(); 

vomit un fichier saveAs MessageBox si le classeur a déjà été enregistré dans un prénom. Remarque: Cela se produit uniquement dans Windows 7 & uniquement lorsqu'un autre classeur était déjà ouvert.

Des indices.

Répondre

0

Je ne sais pas grand-chose sur l'API Excel de CSharp, mais vu que personne d'autre n'a essayé de répondre à cette question, je ne peux pas dire que vous ayez de meilleures options. :)

Après avoir lu une partie de la documentation, j'ai trouvé que la méthode Excel._Workbook.SaveAs() vous permet de spécifier un nom de fichier, entre autres choses. S'il est vrai que la méthode Save() n'ouvre la boîte de dialogue SaveAs que sur Win7, il se pourrait bien que ce soit un bogue dans Win7. Je suggère, pour éviter temporairement ce bug, vous devriez utiliser la méthode SaveAs() au lieu de Save(). Tous les paramètres sont optionnels et le nom de fichier est le premier, donc vous pourriez simplement lui passer le nom de fichier du fichier en cours et devrait atteindre la même fonctionnalité que celle de Save().

SI Ceci est un bug dans Windows 7, je pense que ce serait le meilleur/le moins douloureux moyen de le contourner. Espérons que cela aide.

+0

Merci pour votre réponse Tyler, J'ai déjà essayé l'API SaveAs Au lieu de sauvegarder l'API avec tous les paramètres pertinents, le dialogue s'ouvre. Plus important encore, cela arrive Lorsque j'essaie de créer un nouveau fichier Excel dans une nouvelle instance lorsqu'un fichier Excel est déjà ouvert. CE PROGRAMME FONCTIONNE BIEN DANS WIN VISTA & XP. Il émet également une exception indiquant que "Appel de procédure à distance" a échoué. – Karthik

+0

Ah, désolé je n'aurais pas pu être plus d'aide sur le problème Save/SaveAs. Ceci est un problème très étrange, cependant, car il fonctionne très bien dans Vista. Je m'attends à ce que ce soit un bug dans l'API Win7. Effectuez-vous des appels de procédure à distance? Sinon, je trouve un peu effrayant que Microsoft éprouve le besoin de mettre RPC dans leur API * Excel * ... – JMTyler