On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение
постоянный участник




Пост N: 4144
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.04.15 22:50. Заголовок: Вопрос по Excel ?


Всем привет.
Вопрос к знатокам Excel-я, как подсчитать сумму ВСЕХ значений с минусом и с плюсом ?

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 153 , стр: 1 2 3 4 5 6 7 8 All [только новые]


администратор




Пост N: 6589
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 17.09.17 23:00. Заголовок: Andrey пишет: Петр ..


Andrey пишет:

 цитата:
Петр пишет:

цитата:
1. У обьекта oBook нет метода SaveAs


А как тогда писать правильно ?


oExcel:SaveAs( cFileSave, xlCSV )

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 5521
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 17.09.17 23:07. Заголовок: WinXP) Версия: Exce..


WinXP) Версия: Excel 2003 (11.0) - открывает файлы нормально, без ошибок.
Xin7) Версия: Excel 2014 (16.0) - при открытии этих же файлов, вылетает с ошибкой:


   oExcel := TOleAuto():New( "Excel.Application" ) 
oExcel:Visible := .F. // НЕ Показывать EXCEL
oExcel:DisplayAlerts := .F. // не приставать с запросами
oExcel:Workbooks:Open( cFileName, 0 ) // строка 90
oBook := oExcel:ActiveSheet()

Почему ?

Пока не щёлкнешь по кнопке "Разрешить редактирование" для этого файла, программа на МиниГуи будет вылетать.
Т.е. ОЛЕ в МиниГуи (для Экселя-2014) не может открыть такой файл ?
Как тогда добиться совместимости, чтобы программа на всех ОФИСАХ работала ?
Можно ли у себя в программе ввести параметр для разрешения редактирования таких файлов ?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 1124
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 18.09.17 08:53. Заголовок: Andrey пишет: Можно..


Andrey пишет:

 цитата:
Можно ли у себя в программе ввести параметр для разрешения редактирования таких файлов ?


Почитай в msdn про параметры метода open.
Уверен там есть ответ.

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 3592
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 18.09.17 12:58. Заголовок: Опыт показывает, что..


Опыт показывает, что параметрами метода Open не обойдешься. Excel последних версий стал слишком "умный", и теперь сам решает, стоит ли ему открывать файл, или не стоит. То ему папка не нравится, то файл не такой.
Иногда можно подшаманить настройки самого Excel, иногда надо удалять определенные ветки реестра. Но в общем случае для произвольного Office заранее неизвестно, согласится ли сей капризный продукт открыть файл, или его надо специально уговаривать.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 5522
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 18.09.17 15:08. Заголовок: Haz пишет: Почитай ..


Haz пишет:

 цитата:
Почитай в msdn про параметры метода open.
Уверен там есть ответ.



Нашел это - https://msdn.microsoft.com/en-us/vba/excel-vba/articles/workbooks-open-method-excel
Ничего подходящего нет...

Pasha пишет:

 цитата:
Но в общем случае для произвольного Office заранее неизвестно, согласится ли сей капризный продукт открыть файл, или его надо специально уговаривать.


Да фиг бы сним, нельзя открыть - так нельзя !
Главное чтобы моя программа не сваливалась по ОЛЕ-ошибке и юзеру окошко читаемое выдать !
Что только ему написать то пока не знаю.



Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 1125
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 18.09.17 15:20. Заголовок: Andrey пишет: Ничег..


Andrey пишет:

 цитата:
Ничего подходящего нет...



Это не то ? IgnoreReadOnlyRecommended
Если не помогла , то в параметрах безопасности экселя нужно запретить эти предупреждения.
Как сделать руками знаю, как из VBA не видел

Хотя есть такое , попробуй
http://getadmx.com/?Category=Office2016&Policy=excel16.Office.Microsoft.Policies.Windows::L_TrustedLoc01&Language=ru-ru

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1559
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 18.09.17 15:50. Заголовок: Andrey пишет: Главн..


Andrey пишет:

 цитата:
Главное чтобы моя программа не сваливалась по ОЛЕ-ошибке


Я вам про BEGIN SEQUENCE от нефиг делать писал?
Организуйте обработку ошибок и будет вам счастье.

К тому же

 цитата:
IF FILE( cFileSave )
// Чтобы Excel не приставал в вопросом "Такой файл уже существует"
nErr := DELETEFILE(cFileSave)


- это очень "детский" код, под DOS - все нормально, в Win может быть источником трудноотлавливаемых ошибок.


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 5523
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 18.09.17 17:30. Заголовок: Haz пишет: Если не ..


Haz пишет:

 цитата:
Если не помогла , то в параметрах безопасности экселя нужно запретить эти предупреждения.


Я писал выше, что ручное разрешение на этот файл позволяет избавиться от ошибки.
Но хочется сделать открытие файла по максиму - без ошибок !
Самое лучшее конечно предложение от Петра, сделать BEGIN SEQUENCE на открытие файла.
Кстати проверял и Эксель 2014 и 2016 - файлы нормально открываются/конвертируются.
У меня два файла в тесты записаны, вообще на диске лежат с 2014 года, может битые какие-то.
Хотя Эксель 2003 их просто на ура конвертирует....
Чем дальше в лес, тем больше дров.

Нашел кто создаёт такие хитро-битые файлы, вот один в качестве примера - https://cloud.mail.ru/public/Fd2b/kTZEAo8Nj


Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 6590
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 18.09.17 17:45. Заголовок: Haz пишет: как из ..


Haz пишет:

 цитата:
как из VBA не видел


да полно ссылок если погуглить.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 5525
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 18.09.17 17:49. Заголовок: Dima попробуй у себя..


Dima попробуй у себя открыть этот файл - https://cloud.mail.ru/public/Fd2b/kTZEAo8Nj !

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 6591
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 18.09.17 18:29. Заголовок: Andrey пишет: Dima ..


Andrey пишет:

 цитата:
Dima попробуй у себя открыть этот файл


у меня Excel 2003

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 1126
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 18.09.17 22:48. Заголовок: Dima пишет: да полн..


Dima пишет:

 цитата:
да полно ссылок если погуглить.


Может и полнно, но мне не надо. Давно листал, и для себя запомнил, что эта гадость без танцев не отключается. И надо все валить на админа.
Если с тех времен ссылок накидали то это талько хорошо.
Ps. Вспоминается анекдот :
Тяжело спорить с товарищем сталиным, ты ему цитату, а он тебе ссылку

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 3593
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 19.09.17 09:47. Заголовок: По поводу открытия ф..


По поводу открытия файлов в последних версиях Office: 2010 с обновлениями, 2013, 2016.
Иногда помогают такие танцы с бубном, причем бубен обязательно должен быть изготовлен из шкур священных животных из Тибета, а шаман должен иметь сертификат от далай-ламы.

Вот рецепты, которые я находил:

Отключение проверки файлов офиса при открытии: Создайте в реестре ключ
EnableOnLoad типа DWORD со значением 0 по пути
HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\<Версия вашего Офиса,
например 14.0 для 2010>\<Приложение, например
Excel>\Security\FileValidation\
или
HKEY_CURRENT_USER\Software\Microsoft\Office\<Версия вашего Офиса,
например 14.0 для 2010>\<Приложение, например
Excel>\Security\FileValidation\
Откройте вкладку Файл, чтобы переключиться в представление Microsoft Office
Backstage. В меню Справка выберите пункт Параметры; отобразится диалоговое
окно Параметры. Щелкните элемент Центр управления безопасностью и нажмите
кнопку Параметры центра управления безопасностью. В центре управления
безопасностью щелкните пункт Параметры блокировки файлов. Установите флажок
Открывать выбранные типы файлов в режиме защищенного просмотра и разрешить
редактирование. На приведенном ниже рисунке показана область Параметры
блокировки файлов центра управления безопасностью.
Было слелано следующее на компьютере: 1. Microsoft Office 2010 x32 был
удален с компьютера, и установлен Microsoft Office 2013 x64 2. В реестре
изменен след. параметр
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session
Manager\SubSystems] на SharedSection=1024,20480,1024 согласно ссылке
http://www.commix.ru/settings/desktop-heap.html Смотреть
- http://www.pixic.ru/i/2030R7U3V8X797r4.jpg В результате работы с большим
количеством открытых экслевских, вордовских документов, вышеописанная
проблема с зависанием приложений не появляется.

и еще:


На некоторых файлах строка Documents.Open последовательно зависает, причем никаких бросающихся в глаза различий между этими файлами и остальными нет. Ворд 2007, хотя файлы в формате doc. Раньше была проблема с длинными именами файлов - файл с длинным именем зависал, но проходил нормально после его переименования в нечто более короткое. Сейчас весь path включая имя файла - порядка 20 символов.

http://www.sql.ru/forum/1135099/servis-zavisaet-pri-popytke-otkryt-vord

Нашел!
HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Word\Resiliency\DisabledItems
Вот это если почистить, то оно начинает работать. Буду чистить программно. Всем спасибо!

Иногда помогает, иногда нет.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 5526
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 19.09.17 11:09. Заголовок: Pasha СПАСИБО ! :sm..


Pasha СПАСИБО !

Петр пишет:

 цитата:
1. У обьекта oBook нет метода SaveAs



Делаю так:
   oExcel := TOleAuto():New( "Excel.Application" ) 
oExcel:Visible := .F.
oExcel:DisplayAlerts := .F.
oExcel:Workbooks:Open( cFileName, 0 )
oExcel:SaveAs( cFileSave, xlCSV ) // строка 111
oExcel:Quit()

Вылет по ошибке:
Error Excel.Application/0 S_OK: SAVEAS
Called from TOLEAUTO:SAVEAS(0)
Called from XLSTOCSV(111) in module: Form_convert.prg


Если делаю так:
   oExcel := TOleAuto():New( "Excel.Application" ) 
oExcel:Visible := .F.
oExcel:DisplayAlerts := .F.
oExcel:Workbooks:Open( cFileName, 0 )
oBook := oExcel:ActiveSheet()
oBook:SaveAs( cFileSave, xlCSV ) // строка 111
oExcel:Quit()

Вылета по ошибке НЕТ.

И как тогда правильно писать ? Может ещё что-то нужно добавить/исправить в коде


Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 3594
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 19.09.17 11:19. Заголовок: Метод SaveAs есть у ..


Метод SaveAs есть у объекта WorkBook, и Chart и WorkSheet
Так что правильно как раз:

oBook:SaveAs( cFileSave, xlCSV )

для таких вопросов есть хелп по Excel VBA, а еще такая классная вещь, как поисковик в браузере.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 5527
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 19.09.17 11:47. Заголовок: Pasha пишет: для та..


Pasha пишет:

 цитата:
для таких вопросов есть хелп по Excel VBA, а еще такая классная вещь, как поисковик в браузере.



Спасибо ! На них не надеюсь, важно как на форуме у нас напишут !

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 3595
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 19.09.17 12:45. Заголовок: А набрать в яндексе ..


А набрать в яндексе "Excel SaveAs" влом ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 5529
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 19.09.17 13:32. Заголовок: Pasha пишет: А набр..


Pasha пишет:

 цитата:
А набрать в яндексе "Excel SaveAs" влом ?


Да смотрел я. Просто засомневался, из-за этого и спрашивал...

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 3596
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 20.09.17 07:50. Заголовок: Andrey пишет: oBook..


Andrey пишет:

 цитата:
oBook := oExcel:ActiveSheet()



Мне одному кажется, что в этом коде что-то не так ?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 6592
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 20.09.17 08:49. Заголовок: В ячейке имеем QWERT..


В ячейке имеем QWERTYASDEFG , нужно ASDEFG сделать жирным шрифтом.
Руками получается и макрос смотрел , но не пойму как сделать на Harbour.
Делал кто такие вещи ?


Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 153 , стр: 1 2 3 4 5 6 7 8 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 18
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет