|
Разные версии офиса и системы
|
|||
---|---|---|---|
#18+
Скажите пожалуйста, мне нобходима написать программу на VB.Net для обработки Excel файлов. У меня стоит 2010 офис , но по тз возможно использование 2007 и 2010 .У себя в проекте я подключила библиотеку Microsoft Excel 14.0 Object Library - это 2010....а как быть если у пользователябудет стоять офис 2007??? можноли подключить сразу 2 библеотеки??? не будет ли возникать конфликта имен или достаточно только подключить библеотеку 2007 Еще хотелось бы уточнить если проект писался на 32-ой разрядной системе, будет ли Exe запускаться если процессор будет 64 у пользователя? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2014, 12:54 |
|
Разные версии офиса и системы
|
|||
---|---|---|---|
#18+
tasha klemer, Зависит от того, как Excel будет использоваться. Microsoft не рекомендует Office Automation , если речь о нем, для этого есть Open XML SDK , впрочем отлично подходит и для всего остального. Если дело в коде VBA, то есть Conditional Compilation с примерами тут и тут . У объекта Excel.Application есть свойство Version. Битность системы можно узнать, например, вот так . Код .NET, не связанный с Interop, должен работать независимо от битности, если выбрать компиляцию Any CPU. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2014, 01:14 |
|
Разные версии офиса и системы
|
|||
---|---|---|---|
#18+
Соглашусь, Interop не очень дружит с разными версиями. Да и "обработка файлов" звучит совсем размыто. Если это что-то вроде надстройки COM к Excel - то лучше сразу поискать в инете NetOffice и делать связь через его библиотеки - так не будете зависеть от конкретной версии Excel под Interop. Если же надо открывать файлы и что-то делать внутри - то iMrTidy уже дал ответ на данный счет. Правда, там насколько мне известно можно обрабатывать только файлы 2007 и старше, построенные на схемах XML и имеющих открытый доступ к схемам. Для формата .xls такой подход уже не подойдет. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2014, 13:05 |
|
Разные версии офиса и системы
|
|||
---|---|---|---|
#18+
проблемму устранила следующим образом. В коде было обращение к листам по именам , например Sheets("Dic_Worker")Я заемнила все обрашения к листам с поименованных на индексные Sheets(1) и ошибка исчезла. Спасибо за помощь. Информацию возьму на вооружение. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.02.2014, 08:35 |
|
Разные версии офиса и системы
|
|||
---|---|---|---|
#18+
tasha klemer, Какое-то странное решение описанной проблемы. Обращение к листам одинаково во всех версиях. Хоть по именам, хоть по индексам. На совместимость это не влияет. Вывод: ошибка была не в версиях, а в неверном синтаксисе обращения к свойствам объекта. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.02.2014, 12:37 |
|
Разные версии офиса и системы
|
|||
---|---|---|---|
#18+
tasha klemer, Надеюсь пользователи знают, что менять местами листы нельзя. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2014, 01:04 |
|
Разные версии офиса и системы
|
|||
---|---|---|---|
#18+
Думаю проблема была в том, что в каком-то из имен использовались знаки -() или пробел. Обращение по имени предпочтительнее, возможная вставка/удаление/перемещение листов тогда не повлияет на работу. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2014, 07:55 |
|
Разные версии офиса и системы
|
|||
---|---|---|---|
#18+
Пользователи изменять порядок листов не смогут. На счет пробелов в именах имен- их точно не было , из знаков были только "нижнее подчеркивание", а на счет "...неверном синтаксисе обращения к свойствам объекта..." - было Код: vbnet 1.
стало Код: vbnet 1.
...что тут может быть не верного.... Вообщем данная проблема решилась подобным образом. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2014, 08:06 |
|
Разные версии офиса и системы
|
|||
---|---|---|---|
#18+
дык, чему равно ExWB_Dic.Sheets(1).Name? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2014, 10:24 |
|
Разные версии офиса и системы
|
|||
---|---|---|---|
#18+
tasha klemer Код: vbnet 1.
...что тут может быть не верного... Тут может быть "о" не английская, а русская. И "с" тоже. А имя листа как раз по-английски. Или наоборот. Или пробел на конце/вначале у реального листа. В любом случае ошибка была именно в имени листа, а никак не в самом факте обращения к нему по имени. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2014, 15:17 |
|
Разные версии офиса и системы
|
|||
---|---|---|---|
#18+
вот например ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2014, 15:43 |
|
Разные версии офиса и системы
|
|||
---|---|---|---|
#18+
tasha klemerвот напримера причем тут этот пример? переименуйте ваш лист в "W" и попытайтесь к нему обратиться по имени. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2014, 15:56 |
|
Разные версии офиса и системы
|
|||
---|---|---|---|
#18+
переименовала лист 2 в "W" вар.1) как написано в справке MSDN http://msdn.microsoft.com/en-us/library/office/bb211416(v=office.12).aspx You can use the Sheets property to return a worksheet, chart, module, or dialog sheet; the Sheets collection contains all of these. The following example activates the sheet named "Chart1" in the active workbook. Sub ActivateChart() Sheets("Chart1").Activate End Sub У себя пишу Код: vbnet 1.
выдает ошибку см. рис. изменила на Код: vbnet 1.
Ошибка та же! на окне ошибки написано что по умолчанию используется get_Defаult(ObjectIndex) .... значит все таки правильное обращение по индексу? либо для обращения по имени нужно использовать другое свойство... тогда какое? в моем случае вариант с обращением о индексу меня устраивает. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2014, 08:52 |
|
Разные версии офиса и системы
|
|||
---|---|---|---|
#18+
tasha klemer, index хоть и используется по умолчанию, но есть же перегрузки метода, верно? Среди которых и та, что принимает имя листа. Вы упорно не хотите читать того, что Вам пишут: сверьте посимвольно реальное имя листа и то имя, которое указываете для обращения к листу. Уверен, где-то расхождение. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2014, 10:59 |
|
Разные версии офиса и системы
|
|||
---|---|---|---|
#18+
я внимательно прочитала все что мне написали, и в обрашение Код: vbnet 1.
"W" что на в имя листа, что в код вставляла через копировнаие. в имени листа проверила наличие пробелов ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2014, 11:40 |
|
Разные версии офиса и системы
|
|||
---|---|---|---|
#18+
tasha klemer, Возможно ошибка в другом месте. Если протестировать вот так: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2014, 20:26 |
|
Разные версии офиса и системы
|
|||
---|---|---|---|
#18+
common language runtime, CLR- если я правилно поняла то вы имеете ввиду его, он же должен входить в пакет поставки 3.5. SP1 ??? а раз .NET Framework 3.5 SP1 установлен на ПК пользователя, то тогда и Runtime тоже должен был установиться до нужной версии... или я что -то не правильно понимаю... можно разьяснения ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2014, 07:21 |
|
Разные версии офиса и системы
|
|||
---|---|---|---|
#18+
ни в ту ветку отправлила сообщения. извините ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2014, 07:22 |
|
Разные версии офиса и системы
|
|||
---|---|---|---|
#18+
iMrTidy, протестировала...все получилось. обращение к листу по имени корректно ...спасибо. Но если можно , разьясниет пожалуйста Если при работе с программой возможно использование как 2010 офиса, так и 2007, то какую библеотеку следует подключчать???? 12 или 14??? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2014, 07:46 |
|
Разные версии офиса и системы
|
|||
---|---|---|---|
#18+
tasha klemeriMrTidy, протестировала...все получилось. обращение к листу по имени корректно ...спасибо. Но если можно , разьясниет пожалуйста Если при работе с программой возможно использование как 2010 офиса, так и 2007, то какую библеотеку следует подключчать???? 12 или 14??? Более поздняя версия библиотеки, как правило, полностью совместима с предыдущими версиями. В данном случае лучше использовать наиболее последнюю версию, т.е. 15, но пользоваться только тем функционалом, что доступен для 2007 офиса. По-крайней мере так советует Microsoft. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2014, 01:53 |
|
|
start [/forum/topic.php?fid=61&msg=38564330&tid=2174206]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
56ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 153ms |
0 / 0 |