2012-06-15 6 views
0

Я создаю C# addin для Autodesk Inventor. Единственная причина, по которой это актуально, - это снять флажок «Регистрация для COM-взаимодействия».Workbooks.Open не может найти файл, но правильный путь

Вот что я использую. Xls всегда находится в том же каталоге, в котором работает код. Я тоже пробовал это с абсолютным путем, но получаю ту же ошибку. Bool предназначен только для тестирования, но он возвращает true. Файл не доступен только для чтения.

bool fileExists = File.Exists ("Assembly3.xls"); 
xlBook = xlApp.Workbooks.Open ("Assembly3.xls"); 

Сообщение об ошибке я получаю: https://dl.dropbox.com/u/46698764/cantFindFile.png Поскольку это говорит COMException, я думаю, моя проблема может быть потому, что я необузданный окно «Регистрация для COM Interop». Если это так, может кто-то порекомендовать другой способ открыть книгу?

Если это имеет значение, у меня есть Excel 2010.

ответ

1

Попробуйте указать полный путь. Excel может открываться с другим каталогом запуска, и он может искать в этом каталоге файл XLS. Поскольку вы размещены в качестве дополнения, вам может понадобиться по-разному использовать путь. Несколько мест для начала было бы:

Application.StartupPath

GetCurrentDirectory

+0

Да, но я уже говорил, что я пробовал. Я получаю ту же ошибку. Полный путь не помог. – Brandon

+0

В каком каталоге этот файл запущен? Это может быть проблема с разрешением Windows Vista/7? Вы пробовали абсолютный путь полностью вне структуры каталогов, например, указав на что-то в своей папке моих документов? –

+0

В настоящее время он находится здесь: C: \ TK Workspace \ TK Тем не менее, я также пробовал в своих документах и ​​на моем рабочем столе. Ничего не сработало. – Brandon

Смежные вопросы