powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / как отловить ошибку макроса excel в foxpro
15 сообщений из 15, страница 1 из 1
как отловить ошибку макроса excel в foxpro
    #39310990
G30071
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Выполняю макрос из foxpro :
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
oleApp.ActiveWorkBook.VBProject.VBComponents.Import (Sys(5)+Sys(2003)+"\progs\myfile.bas")
	
With oleApp
		.Visible = .f.
		
	oleApp.Run("myMacro")

	
	Endwith



Собственно объект excel создан макрос загружен и выполнен, но в процессе выполнения я делаю некоторые проверки,
например с какой строки начинается блок данных. И если строка не та даю Messagebox и останавливаю макрос. Но все это видно внутри excel объекта который скрыт. Как передать обратно в fox результат успеха или провала макроса?
Может у объекта oleApp есть свойство последней ошибки Err или еще что-то?
...
Рейтинг: 0 / 0
как отловить ошибку макроса excel в foxpro
    #39311005
alextashk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
G30071,

выводить ошибки не только в messagebox, но и в файл.
А файл потом парсить.
...
Рейтинг: 0 / 0
как отловить ошибку макроса excel в foxpro
    #39311018
G30071
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Выводить в файл, потом загружать его , парсить - это как то не красиво, и долго. Хотя как вариант можно рассматривать.
Думаю есть что-то типа свойства объекта с последней ошибкой или массивом ошибок выполнения макроса.
...
Рейтинг: 0 / 0
как отловить ошибку макроса excel в foxpro
    #39311044
G30071Выводить в файл, потом загружать его , парсить - это как то не красиво, и долго. Хотя как вариант можно рассматривать.
Думаю есть что-то типа свойства объекта с последней ошибкой или массивом ошибок выполнения макроса.И наверняка думаете, что это должны знать знатоки фокса, а не знатоки Excel/VBA? Ведь это должно быть создано конкретно для фокса, не так ли?
...
Рейтинг: 0 / 0
как отловить ошибку макроса excel в foxpro
    #39311263
G30071
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторИ наверняка думаете, что это должны знать знатоки фокса, а не знатоки Excel/VBA? Ведь это должно быть создано конкретно для фокса, не так ли?
Не уверен, что правильно понял вашу мысль, но те кто работает с макросами excel в foxpro наверняка сталкивались с обработкой ошибок в макросе. И вот у них я и спрашиваю совета.
...
Рейтинг: 0 / 0
как отловить ошибку макроса excel в foxpro
    #39311268
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
G30071авторИ наверняка думаете, что это должны знать знатоки фокса, а не знатоки Excel/VBA? Ведь это должно быть создано конкретно для фокса, не так ли?
Не уверен, что правильно понял вашу мысль, но те кто работает с макросами excel в foxpro наверняка сталкивались с обработкой ошибок в макросе. И вот у них я и спрашиваю совета.
Подозреваю мало кто работает с макросами. Зачем они, если вместо вызова макроса можно весь код макроса на фоксе повторить.
...
Рейтинг: 0 / 0
как отловить ошибку макроса excel в foxpro
    #39311270
G30071те кто работает с макросами excel в foxproИ много таких видели? Я, кажется, всего одного. За ...дцать лет. наверняка сталкивались с обработкой ошибок в макросе. И вот у них я и спрашиваю совета.С обработкой ошибок в макросе чаще всего сталкиваются писатели макросов. А пишут они их на VBA, а отнюдь не на фоксе.
...
Рейтинг: 0 / 0
как отловить ошибку макроса excel в foxpro
    #39311283
G30071
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если вы не обрабатываете объемы внешних данных с разной структурой, которые надо иногда немного подправить, то вопрос не к вам.

А повторять уже готовый макрос перекладыванием в fox это обезьяний труд, т.к. макрос отлажен и готов к запуску, зачем его перекладывать?

В общем с вами все ясно.
...
Рейтинг: 0 / 0
как отловить ошибку макроса excel в foxpro
    #39311319
T1gRa_NT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обрабатывают объемы внешних данных в FoxPro, а в Excel выводят уже готовые, со всякими свиристелками и тд. т.е. используют как отчет.
...
Рейтинг: 0 / 0
как отловить ошибку макроса excel в foxpro
    #39311720
G30071
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторОбрабатывают объемы внешних данных в FoxPro, а в Excel выводят уже готовые, со всякими свиристелками и тд. т.е. используют как отчет.

внешние данные и есть изначально в excel. У этих excel данных немного разнится структура, макрос в excel написать пара минут и отдебажить его в экселе, перекладывание этого макроса в fox - пустая трата времени и сил, тем более что он не один будет их много.

Ну не будете же вы спорить что макрос легче писать в fox чем в excel который его пишет на автомате?

Короче я все понял, "знатоки" могут отдыхать =)
...
Рейтинг: 0 / 0
как отловить ошибку макроса excel в foxpro
    #39312083
T1gRa_NT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
G30071excel который его пишет на автомате?


Улыбнуло) что-то я не видел реально быстрых и нужных макросов записанных макрорекордером excel.
Если вы мне расскажите как в excel автоматически записать макрос использующий массивы и словари, то буду очень признателен.

G30071внешние данные и есть изначально в excel.


А зачем вам тогда прослойка FoxPro исправляли бы сразу макросами в Excel.
У меня тоже встречаются такие задачки где надо преобразовать данные excel в другой excel и мне иногда легче сделать это через Fox.
Но в таких случаях я предпочитаю встраивать проверки на корректность при заборе из excel, а никак не путать макросы и fox в 1 флаконе. Макросы при необходимости отрабатывают потом, уже по готовым и правильным данным из FoxPro.
...
Рейтинг: 0 / 0
как отловить ошибку макроса excel в foxpro
    #39312691
G30071
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
T1gRa_NT
авторУлыбнуло) что-то я не видел реально быстрых и нужных макросов записанных макрорекордером excel.
Что вас улыбнуло? Искаженный смысл?
Я говорил про скорость создания макроса для обработки исходной excel таблицы. А не сравнивал быстродействие выполнения макроса excel и fox/
Если вы чего-то не видели, то с опытом разнообразных задач это придет.

авторА зачем вам тогда прослойка FoxPro исправляли бы сразу макросами в Excel.
А затем, что есть уже структура готовой базы в fox куда надо импортировать данные из excel структура таблиц которых немного отличается. Которую надо подправить макросом excel И эти макросы будут для каждой таблицы немного свои. Но таблицы очень большие и писать макрос в fox дело неудобное и времязатратное. В excel же это занимает пару минут.

Я уже понял, что по заданному вопросу вам сказать нечего, но зачем пытаться умничать на тему - "это никому не нужно" и "так никто не делает"?
Не делаете, не умеете , не знаете, не надо отвечать, проходите мимо.
...
Рейтинг: 0 / 0
как отловить ошибку макроса excel в foxpro
    #39312941
Ffffffffffffffffff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
G30071,
пишите ошибки в поля Excel и считывайте оттуда. Проще всего.
...
Рейтинг: 0 / 0
как отловить ошибку макроса excel в foxpro
    #39312954
Ffffffffffff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот, что нам говорит help Excel:


The properties of the Err object are set by the generator of an error — Visual Basic, an object, or the programmer.

The default property of the Err object is Number. Because the default property can be represented by the object name Err, earlier code written using the Err function or Err statement doesn't have to be modified.

When a run-time error occurs, the properties of the Err object are filled with information that uniquely identifies the error and information that can be used to handle it. To generate a run-time error in your code, use the Raise method.

The Err object's properties are reset to zero or zero-length strings ("") after an Exit Sub, Exit Function, Exit Property or Resume Next statement within an error-handling routine. Using any form of the Resume statement outside of an error-handling routine will not reset the Err object's properties. The Clear method can be used to explicitly reset Err.

Use the Raise method, rather than the Error statement, to generate run-time errors for system errors and class modules. Using the Raise method in other code depends on the richness of the information you want to return.

The Err object is an intrinsic object with global scope. There is no need to create an instance of it in your code
...
Рейтинг: 0 / 0
как отловить ошибку макроса excel в foxpro
    #39318732
G30071
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо Ffffffffffff , alextashk за Ваши варианты. На будущее подумаю.
А пока я нашел выход, не очень красивый, но прокатывает.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / как отловить ошибку макроса excel в foxpro
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]