Страница: 1 |
Привет всем! Подскажите плз. КАК из басика поработать с файлом excel как с БД? Нужно, всего-то подключится к файлу, считать какие то ячейки, и в другие ячейки чего то записать. (никогда не думал что придётся такой гадостью заниматься. ) Если не сложно, маленький примерчик кода...
Привет! Возможно это тебе поможет: Q: Можно ли из программы на Visual Basic создать рабочую книгу Excel ? A: Да, можно….. Пример того, как из Visual Basic'a через OLE запустить Excel, и создать рабочую книгу... ' CreateXlBook ' MS Excel hidden instance CreateXlBook = False Set objXLApp = CreateObject("Excel.Application") ' В новой рабочей книге создавать только один рабочий лист Set objWbNewBook = objXLApp.Workbooks.Add ' Сохраняем книгу objWbNewBook.SaveAs (sDirName + "\" + sWbName + ".xls") ' Освобождение памяти End Function Hint: Tested and approved with MS Visual Basic 4.0 Enterprise Edition Я еще посмотрю у себя, у меня есть модули делающие отчет в Excel, пострараюсь найти сегодня Спасибо конечно..., только я спрашивал совсем не про это. я спрашивал как работать с excel как с базой данных! т.е. через DAO например. мне совсем не надо создавать новый файл excel, а нужно прицепиться к существующему (не OLE), из каких-то ячеек что-то считать, в другие что-то записать. Так вот, КАК? 2Shkoda : >Я еще посмотрю у себя, у меня есть модули делающие отчет в Excel, а вот это давай, это то-же интересно Свой код я не нашел, посему пришлось писть что-то новое: Private exl As Excel.Application Private Sub Form_Load() 'exl.Workbooks.Close End Sub примерно где-то так. для базы данных ввиде листа пользуйся циклом на проверку пустой ячейки к примеру. если что спрашивай, подумаю. Спасибо, только так я и сам умею. Может я изначально неверно вопрос задал? Попробую объяснить по другому: Я хочу прицепив на форму контрол Data1.Connect = "Excel 8.0" Data1.DatabaseName "C:\sampl.xls" Data1.RecordSource = "Лист1$" (ведь а дальше как? Как в этом случае что-то, куда то добавить или удалить? Как добраться до определённой ячейки? Страница: 1 |
Вопрос: VB + Excel
Добавлено: 18.03.03 08:28
Автор вопроса: Justas | Web-сайт:
Ответы
Всего ответов: 5
Номер ответа: 1
Автор ответа:
Shkoda
Вопросов: 3
Ответов: 9
Профиль | | #1
Добавлено: 18.03.03 09:49
Можно ли из программы на Visual Basic создать рабочую книгу Excel ?
' Вызывает MS Excel, создает рабочую книгу с именем sWbName с одним
' единственным рабочим листом. Рабочая книга будет сохранена в каталоге
' sDirName. В случае успеха возвращает True, в противном случае - False.
'
Public Function CreateXlBook(sWbName As String, sDirName) As Boolean
Dim objXLApp As Object
Dim objWbNewBook As Object
If objXLApp Is Nothing Then Exit Function
objXLApp.SheetsInNewWorkbook = 1
If objWbNewBook Is Nothing Then Exit Function
If vbNullString = Dir(sDirName, vbDirectory) Then Exit Function
CreateXlBook = True
Set objWbNewBook = Nothing
objXLApp.Quit
Set objXLApp = Nothing
CreateXlBook = True
Номер ответа: 2
Автор ответа:
Justas
ICQ: 259418212
Вопросов: 24
Ответов: 325
Web-сайт:
Профиль | | #2
Добавлено: 18.03.03 10:11
Номер ответа: 3
Автор ответа:
Justas
ICQ: 259418212
Вопросов: 24
Ответов: 325
Web-сайт:
Профиль | | #3
Добавлено: 18.03.03 10:29
Номер ответа: 4
Автор ответа:
Shkoda
Вопросов: 3
Ответов: 9
Профиль | | #4
Добавлено: 18.03.03 15:00
Set exl = New Excel.Application
exl.Workbooks.Open FileName:="e:\отчет.xls"
'присваиваем ячейке данные
exl.ActiveSheet.Cells(1, 1) = "привет"
' тута получаем данные
MsgBox exl.ActiveSheet.Cells(1, 1)
'присваиваеме ячейке с именем
exl.ActiveSheet.Range("names1") = "123"
exl.Visible = True
'exl.Quit
Set exl = Nothing
Номер ответа: 5
Автор ответа:
Justas
ICQ: 259418212
Вопросов: 24
Ответов: 325
Web-сайт:
Профиль | | #5
Добавлено: 19.03.03 03:21