Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: VB + Excel Добавлено: 18.03.03 08:28  

Автор вопроса:  Justas  | Web-сайт: justas.newmail.ru | ICQ: 259418212 

Привет всем!

Подскажите плз.  КАК из басика поработать с файлом excel как с БД? Нужно, всего-то подключится к файлу, считать какие то ячейки, и в другие ячейки чего то записать. (никогда не думал что придётся такой гадостью заниматься. )

Если не сложно, маленький примерчик кода...

Ответить

  Ответы Всего ответов: 5  

Номер ответа: 1
Автор ответа:
 Shkoda



Вопросов: 3
Ответов: 9
 Профиль | | #1 Добавлено: 18.03.03 09:49

Привет!

Возможно это тебе поможет:

Можно ли из программы на Visual Basic создать рабочую книгу Excel ?

Q: Можно ли из программы на Visual Basic создать рабочую книгу Excel ?

A: Да, можно…..

Пример того, как из Visual Basic'a через OLE запустить Excel,  и создать рабочую книгу...

' CreateXlBook
' Вызывает MS Excel, создает рабочую книгу с именем sWbName с одним
' единственным рабочим листом. Рабочая книга будет сохранена в каталоге
' sDirName. В случае успеха возвращает True, в противном случае - False.
'
Public Function CreateXlBook(sWbName As String, sDirName) As Boolean

  ' MS Excel hidden instance
  Dim objXLApp As Object
  Dim objWbNewBook As Object

  CreateXlBook = False

  Set objXLApp = CreateObject("Excel.Application")
  If objXLApp Is Nothing Then Exit Function

  ' В новой рабочей книге создавать только один рабочий лист
  objXLApp.SheetsInNewWorkbook = 1

  Set objWbNewBook = objXLApp.Workbooks.Add
  If objWbNewBook Is Nothing Then Exit Function

  ' Сохраняем книгу
  If vbNullString = Dir(sDirName, vbDirectory) Then Exit Function

  objWbNewBook.SaveAs (sDirName + "\" + sWbName + ".xls")
  CreateXlBook = True

  ' Освобождение памяти
  Set objWbNewBook = Nothing
  objXLApp.Quit
  Set objXLApp = Nothing
  CreateXlBook = True

End Function

Hint: Tested and approved with MS Visual Basic 4.0 Enterprise Edition

Я еще посмотрю у себя, у меня есть модули делающие отчет в Excel, пострараюсь найти сегодня

Ответить

Номер ответа: 2
Автор ответа:
 Justas



ICQ: 259418212 

Вопросов: 24
Ответов: 325
 Web-сайт: justas.newmail.ru
 Профиль | | #2
Добавлено: 18.03.03 10:11

 Спасибо конечно..., только я спрашивал совсем не про это.

я спрашивал как работать с excel как с базой данных!

т.е. через DAO например. мне совсем не надо создавать новый файл excel, а нужно прицепиться к существующему (не OLE), из каких-то ячеек что-то считать, в другие что-то записать. Так вот, КАК?

Ответить

Номер ответа: 3
Автор ответа:
 Justas



ICQ: 259418212 

Вопросов: 24
Ответов: 325
 Web-сайт: justas.newmail.ru
 Профиль | | #3
Добавлено: 18.03.03 10:29

2Shkoda :

>Я еще посмотрю у себя, у меня есть модули делающие отчет в Excel,

а вот это давай, это то-же интересно

Ответить

Номер ответа: 4
Автор ответа:
 Shkoda



Вопросов: 3
Ответов: 9
 Профиль | | #4 Добавлено: 18.03.03 15:00

Свой код я не нашел, посему пришлось писть что-то новое:

Private exl As Excel.Application

Private Sub Form_Load()
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.Workbooks.Close
'exl.Quit
Set exl = Nothing

End Sub

примерно где-то так. для базы данных ввиде листа пользуйся циклом на проверку пустой ячейки к примеру. если что спрашивай, подумаю.

Ответить

Номер ответа: 5
Автор ответа:
 Justas



ICQ: 259418212 

Вопросов: 24
Ответов: 325
 Web-сайт: justas.newmail.ru
 Профиль | | #5
Добавлено: 19.03.03 03:21

Спасибо, только так я и сам умею. Может я изначально неверно вопрос задал?

Попробую объяснить по другому: Я хочу прицепив на форму контрол DATA, (или подключив библиотеку DAO) поработать с файлом excel. т.е:

Data1.Connect = "Excel 8.0"

Data1.DatabaseName "C:\sampl.xls"

Data1.RecordSource = "Лист1$"

(ведь excel – тоже база данных, или я не прав???      )

а дальше как? Как в этом случае что-то, куда то добавить или удалить? Как добраться до определённой ячейки?

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам