Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вывод данных в Escel 
:(
    Опции темы
Flotskiy
Дата 11.7.2005, 08:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 223
Регистрация: 15.11.2004
Где: г. Омск

Репутация: 1
Всего: 2



Добрый день всем!
Прошу помощи!
Документ, например, список абитуриентов (или что нибудь др.) вывожу в Excel, где обрабатывается информация,... и выводится на печать.
Отсылаю в MSExcel так:
Код

Private Sub cmdExcel_Click()
On Error Resume Next
Dim iIndx As Integer
Dim iRowIndex As Integer
Dim iColIndex As Integer
Dim iRecordCount As Integer
Dim iFieldCount As Integer
Dim sMessage As String
Dim avRows As Variant
Dim excelVersion As Integer

'-- Read all of the records into our array
avRows = adoRecordset.GetRows()

'-- Determine how many fields and records
iRecordCount = UBound(avRows, 2) + 1
iFieldCount = UBound(avRows, 1) + 1

'-- Create reference variable for the spreadsheet
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
On Error Resume Next
              Select Case cmbDokumentt
    
    Case cmbDokument(1)
     ' === Общий список ===
    objExcel.Workbooks.Open (App.Path & "\Doc\Главная книга учета")
       ........................................
           Case cmbDokument(20)
  ' === Список заочного отделения===
         objExcel.Workbooks.Open (App.Path & "\Doc\PriemZO")
           Case Else
    End Select
 
'-- We need this line to insure Excel remains visible if we switch
Set objTemp = objExcel

excelVersion = Val(objExcel.Application.Version)
If (excelVersion >= 8) Then
 Set objExcel = objExcel.ActiveSheet
End If

'-- Place the names of the fields as column headers --
iRowIndex = 1
iColIndex = 1
For iColIndex = 1 To iFieldCount
  With objExcel.Cells(iRowIndex, iColIndex)
     .Value = adoRecordset.Fields(iColIndex - 1).Name
     With .Font
       .Name = "Times New Roman"
       .Bold = True
       .Size = 12
     End With
  End With
Next

'-- memory management --
adoRecordset.Close
Set adoRecordset = Nothing

'-- Just add data --
With objExcel
  For iRowIndex = 2 To iRecordCount + 1
   For iColIndex = 1 To iFieldCount
    .Cells(iRowIndex, iColIndex).Value = avRows(iColIndex - 1, iRowIndex - 2)
   Next
  Next
End With
objExcel.Cells(1, 1).CurrentRegion.EntireColumn.AutoFit
End Sub


Все работает в офисе 97. На одном компе стоит офис XP, и документы не открываются. В коде указано:
Цитата
If (excelVersion >= 8) Then

значит, не та версия.
Как указать, чтобы могли открываться все версии Excel?
Этот фрагмент кода я позаимствовал из обной умной книги.
Подскажите, pse, кто может.
С уважением

--------------------
FlotskiySk k
PM MAIL   Вверх
Papirus
Дата 11.7.2005, 09:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 298
Регистрация: 19.4.2005
Где: Санкт-Петербург

Репутация: нет
Всего: 1



М.б.

Код

Dim exapp as Object
Dim exwbk as Workbook

set exapp = CreateObject("Excel.Application")
set exwbk = exapp.Workbooks.Add
exwbk.Worksheets.Add
Activesheet.Range("A1").CopyFromRecordset adoRecordset

PM MAIL ICQ   Вверх
Flotskiy
Дата 12.7.2005, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 223
Регистрация: 15.11.2004
Где: г. Омск

Репутация: 1
Всего: 2



Papirus, благодарю за помощь.
Всего доброго
--------------------
FlotskiySk k
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0402 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.