Microsoft.Office.Interop.Excel, имеющий «неверное значение» в качестве параметров по умолчанию - PullRequest
3 голосов
/ 21 октября 2010

Я пытаюсь использовать Microsoft.Office.Interop.Excel. Кажется, загружается нормально, но когда я пытаюсь его использовать, все параметры по умолчанию не работают. Вот скриншот, который показывает все эти плохие значения

alt text

Всякий раз, когда я пытаюсь пропустить их, компилятор говорит мне, что функции требуется более 1 параметра.

Эта функция открыта как:

   Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
   Workbook wb = excel.Workbooks.Open("ss.xlsx");

Как я могу использовать значение по умолчанию для этих 14 параметров?

EDIT Я использую C # 3.5 (2008) с Office 2010

Принятое решение:

Тип. Сносные работы У меня тоже была эта проблема http://support.microsoft.com/default.aspx?scid=kb;en-us;320369 Проблема в том, что мои окна французские, но офис на английском, поэтому ад вырвался на свободу.

Решение

CultureInfo ci = new CultureInfo("en-US"); 
System.Threading.Thread.CurrentThread.CurrentCulture = ci;

Ответы [ 2 ]

5 голосов
/ 21 октября 2010

используйте System.Type.Missing или System.Reflection.Missing.Value для любых параметров, которые вы хотите пропустить.

Но похоже, что вы используете неправильную (более низкую) версию Excel Interop для открытия «xlsx» (следует использовать версию 12 для поддержки Office 2007)

1 голос
/ 21 октября 2010

Используйте Type.Missing для дополнительных параметров, которые вы не хотите устанавливать.

См .: http://msdn.microsoft.com/en-us/library/dd264733.aspx и http://softwaresalariman.blogspot.com/2010/05/rudimentary-c-com-interop-client-for.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...