powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Импорт из Excel. Несколько копий.
10 сообщений из 10, страница 1 из 1
Импорт из Excel. Несколько копий.
    #35302240
demaxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
На PB работаю мало, но задачу надо решить.

Собственно, импортирую из Excel данные в DW. Все нормально импортиться, но ...
Во если время импорта открыть другой excel файл, а потом его закрыть, импорт останавливается и вываливается ошибка импорта. Либо во время импорта, открыть другой excel файл, набить туда чего нибудь, то после завершения импорта, excel пытается закрыться, с предложение о сохранении редактируемого файла.

PB 6.0

Если надо, приведу код.

Подскажите, как решить проблему.

Спасибо.
...
Рейтинг: 0 / 0
Импорт из Excel. Несколько копий.
    #35304532
alexis glinski
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
приводи код :)
...
Рейтинг: 0 / 0
Импорт из Excel. Несколько копий.
    #35304533
alexis glinski
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если через OLE коннектишся к Excel, попробуй ConnectToObject вместо ConnectToNewObject.
...
Рейтинг: 0 / 0
Импорт из Excel. Несколько копий.
    #35305959
demaxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
функция подключения

string		ls_named
integer		li_ret
any			la_value
long			ll_sheet
string		ls_profiles
datawindowchild	dwc

ib_open = FALSE
IF FileExists(as_filename) = FALSE Then
	MessageBox('Ошибка', 'Файл "' + as_filename + '" не найден')
	Return - 1 
End IF
excel = create oleobject
li_ret = excel.connecttonewobject('excel.application')
if li_ret<> 0  then
	messagebox('OLE','Невозможно подключится к OLE-объекту~r~nКод ошибки=' + string(li_ret),stopsign!)
	return - 2 
end if
excel.Visible = FALSE
excel.WorkBooks.Open(as_filename)
ib_open = TRUE
Return  0 

функция отключения

integer		li_ret
IF ib_open Then
	excel.WorkBooks.Close()
	excel.Application.Quit
	li_ret = excel.disconnectobject()
	if li_ret <>  0  then
		messagebox('OLE','Невозможно откключится от OLE-объекта~r~nКод ошибки=' + string(li_ret),stopsign!)
		return
	End IF
End IF 
...
Рейтинг: 0 / 0
Импорт из Excel. Несколько копий.
    #35306023
demaxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Часть проблемы решил так:
Код: plaintext
excel.WorkBooks('имя_файла.XLS').Close()
Кстати, подскажите, как выделить имя файла из пути (неужели вырезать?)

Т.е. теперь закрывается только тот файл, который импортиться.

Но вот как сделать, чтобы при зыкрытии пользователем его (xls файла) не отваливался весь импорт?

Жду предложений.

Спасибо
...
Рейтинг: 0 / 0
Импорт из Excel. Несколько копий.
    #35306028
alexis glinski
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexis glinskiесли через OLE коннектишся к Excel, попробуй ConnectToObject вместо ConnectToNewObject .
ну так замени ;)
...
Рейтинг: 0 / 0
Импорт из Excel. Несколько копий.
    #35306029
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
demaxx wrote:

> Но вот как сделать, чтобы при зыкрытии пользователем его (xls файла) не
> отваливался весь импорт?

Никак.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Импорт из Excel. Несколько копий.
    #35306075
demaxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexis glinski alexis glinskiесли через OLE коннектишся к Excel, попробуй ConnectToObject вместо ConnectToNewObject .
ну так замени ;)

Заменил, вылетает ошибка
---------------------------
OLE
---------------------------
Невозможно подключится к OLE-объекту

Код ошибки=-6
---------------------------
OK
---------------------------
...
Рейтинг: 0 / 0
Импорт из Excel. Несколько копий.
    #35307085
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
demaxx alexis glinski alexis glinskiесли через OLE коннектишся к Excel, попробуй ConnectToObject вместо ConnectToNewObject .
ну так замени ;)

Заменил, вылетает ошибка
---------------------------
OLE
---------------------------
Невозможно подключится к OLE-объекту

Код ошибки=-6
---------------------------
OK
---------------------------
Правильно, потому что Exel не открыт
-6 Filename is not valid
oleobject.ConnectToObject ( filename {, classname } )
Чуешь что написано
...
Рейтинг: 0 / 0
Импорт из Excel. Несколько копий.
    #35308339
demaxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
spas2001 спасибо за помощь.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Импорт из Excel. Несколько копий.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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