2010-07-28 8 views
1

Question 1:Limiter l'accès à un fichier Excel ouvert par C# programme

J'ai ouvert un fichier Excel avec

Excel.Application app = new Excel.ApplicationClass(); 
Excel.Workbook Wbook = app.Workbooks.Open("aaa.xlsx",...); 

Maintenant, je veux arrêter d'autres programmes accédant à "aaa.xlsx". (voulez restreindre l'accès par d'autres programmes tels que excel.exe & etc)

Y at-il des options que je peux mettre à verrouiller/bloc/restreindre ouvrir le fichier?

Question 2:

Depuis que je l'ai déjà fait

Excel.Application app = new Excel.ApplicationClass(); 

J'ai créé une nouvelle instance d'Excel. Je veux le cacher d'une utilisation externe. (Je ne veux pas qu'il apparaisse lorsqu'un fichier Excel excel est double-cliqué sur le système.)

Y a-t-il quelque chose que je peux faire pour éviter qu'il ne soit appelé automatiquement?

Toute aide serait grandement appréciée.

Répondre

0

Ceux-ci devraient probablement être des questions distinctes, mais je vais essayer. Caveat emptor: Cela fait un moment que j'ai touché à Office Automation et que je n'ai pas les docs à portée de main, alors je m'en vais de mémoire.

L'objet Excel.Application doit avoir une propriété Visible. Définissez-le sur false pour masquer l'application. Pour l'ouverture du document, vérifiez les documents pour voir s'il existe des paramètres tels que "FileAccess". Je ne me souviens pas de la main, mais je vais continuer à chercher ...

Modifier: D'accord, j'ai trouvé la documentation sur MSDN, mais il ne semble y avoir aucun moyen de spécifier que Excel devrait verrouiller le document tout en c'est ouvert. Pardon.

+0

Je pensais qu'il devait y avoir quelque chose pour supporter cela mais rien pour le moment. Merci pour l'effort de toute façon. – Die4ACause

0

Une solution laid, mais vous pouvez le faire:

Ouvrir et verrouiller le fichier vous-même. Copiez-le dans un emplacement temporaire, chargez-le temporairement dans votre fenêtre cachée. Après l'avoir sauvegardé, recopiez-le à l'emplacement d'origine. Notez que ces deux copies devront être implémentées dans votre programme car le verrou empêchera Windows de le faire.

+0

hrm .. ouais je suis à court d'idées sur la façon de le faire, donc je vais considérer votre suggestion. thnkx. – Die4ACause

Questions connexes