Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: excel access
 
 автор: Промка   (08.06.2008 в 11:43)   личное сообщение
 
 

У МЕНЯ ТАКАЯ ПРОБЛЕМА. Есть шаблон в excel Нужно из access (VBA) создать книгу excel с с несколькими листами по данному шаблону. Подскажите как это сделать заранее спасибо

  Ответить  
 
 автор: osmor   (08.06.2008 в 13:00)   личное сообщение
 
 

Куча примеров
http://hiprog.com/index.php?option=com_search&Itemid=5&searchword=excel&submit=%CF%EE%E8%F1%EA&searchphrase=any&ordering=newest

  Ответить  
 
 автор: Промка   (08.06.2008 в 22:06)   личное сообщение
 
 

Спасибо! Я не могу найти требуемого на указанной странице Если можете черкните операторы,или укажите информацию на странице конкретно.

  Ответить  
 
 автор: osmor   (09.06.2008 в 08:55)   личное сообщение
 
 

http://hiprog.com/index.php?option=com_content&task=view&id=363
http://hiprog.com/index.php?option=com_content&task=view&id=428
http://hiprog.com/index.php?option=com_content&task=view&id=429
http://hiprog.com/index.php?option=com_content&task=view&id=268

  Ответить  
 
 автор: Промка   (18.06.2008 в 16:05)   личное сообщение
 
 

Спасибо.

  Ответить  
 
 автор: Промка   (18.06.2008 в 16:05)   личное сообщение
 
 

Спасибо. Я все что вы прислали изучила ,но все равно не получается то, что хочу сделать никак Все-таки черкните операторы,если вам это не сложно Надежда умирает последней

  Ответить  
 
 автор: Анатолий (Киев)   (18.06.2008 в 16:52)   личное сообщение
 
 

Как выглядит шаблон? В чем заключается заполнение каждого листа?
Видимо вам прийдется серьезно изучать объектную модель Excel.
Первый оператор:
Set obj = CreateObject("Excel.Application")

  Ответить  
 
 автор: Промка   (18.06.2008 в 21:54)   личное сообщение
 
 

ПО моему замыслу эта програмка должна из-под Ассеss в excel в указанной книге добавить лист в начало.т.е размножить лист. но на этапе выполнения выдается сообщение , что не подддерживается св-во или метод Может моя идея вообще не осуществима? далее я хотела в размноженные листы вставлять информацию из access Это не проблема Помоготе пожалуйста с 1 -ым этапом

Private Sub Кнопка11_Click()
On Error GoTo Err_Кнопка5_Click
'Для EХЕL
Dim xlaProd As Excel.Application
Dim xlwProd, xlwProd1 As Excel.Workbook
Dim xlsProd, xlsProd1 As Excel.Worksheet
'Ддя Ассеss
Set xlwProd = GetObject("c:\эталон.xls", "Excel.Sheet")
Set xlsProd = xlwProd.Worksheet(1)

xlsProd.Sheets("Лист2").Select на этом операторе
xlsProd.Sheets("Лист2").Copy Before:=Sheets(1)


xlwProd.Close
xlaProd.Quit
Set xlsProd = Nothing
Set xlwProd = Nothing
Set xlaProd = Nothing

  Ответить  
 
 автор: osmor   (19.06.2008 в 09:52)   личное сообщение
 
 

При таком объявлении переменных должна быть установлена ссылка на Excel
Скажите точный текст ошибки и в какой строке

Добавлено.
Сори теперь увидел...
А зачем вам вообще этот Select?

  Ответить  
 
 автор: Анатолий (Киев)   (19.06.2008 в 11:21)   личное сообщение
 
 

Dim xlaProd As NEW Excel.Application 'без NEW может сработать, если есть открытый Excel
Dim xlwProd As Excel.Workbook, xlwProd1 As Excel.Workbook 'Зачем здесь xlwProd1?
Dim xlsProd As Excel.Worksheet, xlsProd1 As Excel.Worksheet

Set xlwProd = xlaProd.Workbooks.Open "c:\эталон.xls"
Set xlsProd = xlwProd.Worksheet(1)
Set xlsProd1 = Worksheets.Add(xlsProd)
xlsProd1.Name = "Лист1"
xlsProd.Cells.Copy xlsProd1.Cells

xlwProd.Close
xlaProd.Quit
...

Другой вариант (мне нравится больше):
Dim xlaProd As Excel.Application
Dim xlwProd As Excel.Workbook
Dim xlsProd As Excel.Worksheet, xlsProd1 As Excel.Worksheet

Set xlwProd = GetObject("c:\эталон.xls")
Set xlaProd xlwProd.Application

Set xlsProd = xlwProd.Worksheet("Имя листа")
...

xlwProd.Close
If xlaProd.Workbooks.Count = 0 Then xlaProd.Quit 'Если Excel не был открыт ранее - закрывается.
...

Ыуе


Dim wsh1 As Worksheet, wsh2 As Worksheet
Set wsh1 = Worksheets("Sheet4")
Set wsh2 = Worksheets.Add(wsh1)
wsh2.Name = "Лист1"
wsh1.Cells.Copy wsh2.Cells
wsh2.Activate

  Ответить  
 
 автор: Промка   (18.06.2008 в 21:54)   личное сообщение
 
 

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList