Вверх ↑
Этот топик читают: Гость
Ответов: 537
Рейтинг: 14
#1: 2018-10-05 12:19:22 ЛС | профиль | цитата
Сделал программу по работе с файлами excel, на одном компе где hiasm установлен все нормально, на другом без hiasm-а при попытке открыть файл excel вылазит куча ошибок.
1.jpg
2.jpg
3.jpg
Из за чего вылазят эти ошибки?
Часть схемы
Add(MainForm,2953706,63,119)
{
Width=612
Height=436
}
Add(ChildPanel,6304782,210,119)
{
link(onEvent1,13301753:doMessage,[])
}
BEGIN_SDK
Add(EditMulti,13873045,21,21)
{
EventCount=2
WorkCount=1
Width=664
Height=417
link(doWork1,2108518:doEvent1,[(37,27)(37,202)])
}
Add(Panel,14000364,63,28)
{
Width=596
Height=73
Align=2
Visible=1
Layout="parent.vert"
}
Add(FormatStr,15762674,385,119)
{
Mask="Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};\r\nDriverID=22;\r\nDBQ=%1;\r\nDefaultDir=%2;\r\nFirstRowWhasNames=1;\r\nReadOnly=true;\r\nScanRows=0;"
Point(FString)
link(Str2,16353759:Var2,[])
AddHint(44,-31,187,104,Mask)
}
Add(OLEdb,3042347,245,266)
{
Point(onError)
link(onConnect,15799951:doCreate,[])
link(Driver,15762674:FString,[(251,186)(391,186)])
link(onError,9853256:doWork2,[(291,279)(291,307)])
}
Add(OLEdb_Session,15799951,308,266)
{
Point(onError)
link(onError,9853256:doWork1,[(352,279)])
}
Add(FormatStr,5978579,490,273)
{
Mask="SELECT * FROM "%2"."%1$A1:BH" "%1$";"
Point(FString)
link(onFString,6949883:doQuery,[(538,279)(538,316)(296,316)(296,377)])
link(Str2,16353759:Var3,[(503,103)])
AddHint(-15,-62,191,26,Mask)
}
Add(VBJScript,345803,385,210)
{
@Hint=#16:Query SQL Server|
WorkPoints=#6:doOpen|7:doSheet|7:doClose|
EventPoints=#8:onSheets|6:onOpen|
Script=#9:Dim strIn|5:Dim i|5:Dim j|12:Dim objExcel|11:Dim onExcel|0:|22:Sub doWork(Data,Index)|18: Select Case Index|15: Case "doOpen"|52: Set objExcel = CreateObject("Excel.Application")|52: Set objWorkbook = objExcel.Workbooks.Open (Data)|71: j = objWorkbook.Sheets.Count 'Узнаём количество листов|88: For i=1 To j 'Листы начинаются не с "0", а с "1" |86: strIn = objWorkbook.Sheets(i).Name 'Узнаём имя очередного листа |65: sys.onSheets strIn 'Выводим имя наружу|9: Next|17: sys.onOpen 1 |94: 'Case "doSheet" 'На вход подаётся строка, содержащая имя Листа|33: 'objExcel.Sheets(Data).Select|38: 'objExcel.ActiveSheet.Cells.Select|43: 'objExcel.Selection.NumberFormat = "@" |39: 'objExcel.ActiveWorkbook.Save() |17: Case "doClose"|17: objExcel.Quit|26: Set objExcel = Nothing|17: sys.onOpen 0 |0:|11: End Select|0:|7:End Sub|
UseName=0
link(onSheets,578465:doData,[])
}
Add(Hub,45852,350,203)
{
OutCount=3
link(onEvent1,15762674:doString,[(374,209)(374,125)])
link(onEvent2,345803:doOpen,[])
link(onEvent3,345803:doClose,[(374,223)(374,230)])
}
Add(Hub,11410566,140,203)
{
OutCount=3
link(onEvent1,45852:doEvent1,[])
link(onEvent2,3042347:doOpen,[(200,216)(200,272)])
link(onEvent3,15734214:doData,[(294,223)(294,279)])
}
Add(LineBreakEx,15642429,371,301)
{
Caption="error"
}
Add(HubEx,9853256,348,301)
{
link(onEvent,15642429:doWork,[])
}
Add(LineBreakEx,8833105,567,21)
{
Caption="error"
Type=1
link(OnEvent,5569768:doWork2,[])
}
Add(EventFromData,578465,434,210)
{
}
Add(Hub,2108518,105,196)
{
link(onEvent1,9780797:doData,[(255,202)(255,62)])
link(onEvent2,11410566:doEvent1,[])
}
Add(EventFromData,9780797,392,56)
{
}
Add(DoData,15734214,434,273)
{
link(onEventData,5978579:doString,[])
link(Data,578465:GetData,[])
}
Add(OLEdb_Query,6949883,308,371)
{
link(onQuery,10195882:doEvent1,[(352,377)(352,363)])
link(onColumns,2369042:doAddCols,[])
link(onError,5569768:doWork3,[(627,391)])
link(dbSession,15799951:dbSession,[])
link(Text,5978579:FString,[(321,320)(496,320)])
}
Add(MST_DB,2369042,413,371)
{
MSTControl="parent.tabl_1"
}
Add(HubEx,5569768,623,21)
{
link(onEvent,13873045:onEvent1,[])
}
Add(GetDataEx,16353759,392,98)
{
link(Data,9780797:GetData,[])
}
Add(Hub,10195882,364,357)
{
OutCount=3
link(onEvent1,9261340:doStopAll,[(396,363)(396,356)])
link(onEvent2,9261340:doTimer,[(396,370)(396,342)])
link(onEvent3,2369042:doAddRow,[])
}
Add(Timer,9261340,413,336)
{
Interval=1500
Enable=1
AutoStop=1
Point(doStopAll)
link(onTimer,13873045:onEvent2,[(565,342)(565,34)])
}
END_SDK
Add(Message,13301753,259,119)
{
Caption=" "
Icon=1
Point(onYES)
}
Add(MTStrTbl,4101435,210,77)
{
Top=73
Width=596
Height=325
Align=5
Name="tabl_1"
}
Add(ODialog,9853653,161,119)
{
link(onExecute,6304782:doWork1,[])
}
Add(Button,13760541,112,119)
{
Left=540
Caption="Открыть"
link(onClick,9853653:doExecute,[])
}


Редактировалось 1 раз(а), последний 2018-10-05 12:54:58
карма: 4

0
vip
#1.1контекстная реклама от партнеров
Главный модератор
Ответов: 2997
Рейтинг: 395
#2: 2018-10-05 13:49:14 ЛС | профиль | цитата
1. Проверить наличие Microsoft Excel Driver в настройках ODBC;
2. Проверить наличие MS Excel на данной машине;
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Ответов: 537
Рейтинг: 14
#3: 2018-10-05 16:13:19 ЛС | профиль | цитата
Как Проверить наличие Microsoft Excel Driver в настройках ODBC? В схеме все есть или не то? Проверить наличие MS Excel на данной машине, установлена программа excel.
По первому пункту можно подробней, как проверить, что должно быть?
odbcji32.dll этот файл есть в "C:\Windows\System32" Системы на обоих машинах одинаковые, win 7 32bit

Редактировалось 2 раз(а), последний 2018-10-05 16:18:37
карма: 4

0
Разработчик
Ответов: 26066
Рейтинг: 2120
#4: 2018-10-05 16:46:14 ЛС | профиль | цитата
Sersey писал(а):
Как Проверить наличие Microsoft Excel Driver в настройках ODBC?

Запустить администратора источника данных ODBC C:\WINDOWS\system32\odbcad32.exe. В списке должен присутствовать драйвер MS Excel



Редактировалось 3 раз(а), последний 2018-10-05 16:47:30
карма: 22

0
4
Сообщение
...
Прикрепленные файлы
(файлы не залиты)