Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: как управлять книгой Excel посредством OLE из B... Добавлено: 30.04.03 09:14  

Автор вопроса:  denisn

может есть у кого ссылки по subj?

неработает следующий код:

On Error GoTo on_error_exit

Dim aXl As New Excel.Application

Dim aBook As Workbook

Dim fileToOpen As String

Set aXl = CreateObject("excel.application")

aXl.Visible = True

fileToOpen = "D:\Temp\test\Rn230401.706"

aXl.Application.Workbooks.Open (fileToOpen)

Set aBook = aXl.Workbooks.Item(1)

With aBook.Worksheets(1)

.Activate

.Range("B:B").Select

'.Selection.Copy ' тут и дальше падаем ощущение такое что метод не поддерживается

'.Sheets.Add ' хотя из VBA (книги Excel) все работает.

'.ActiveSheet.Paste

'.Rows("1:1").Select

'.Application.CutCopyMode = False

'.Selection.Delete Shift:=xlUp

End With

aXl.Application.Workbooks.Close

Set aBook = Nothing

Set aXl = Nothing

on_error_exit:

aXl.Application.Workbooks.Close

Set aBook = Nothing

aXl.Quit

Set aXl = Nothing

End Sub

Проект VB6

Ответить

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

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



Вопросов: 58
Ответов: 4255
 Профиль | | #1 Добавлено: 01.05.03 04:26

Ошибок у тебя больших и не очень-ТЬМА! Свойства и методы используешь не верно.Почаще заглядывай в Object Browser.И при использовании With.......End With(особенно в Excel) будь внимательней. Что нашел,исправил на скорую руку.Сам правда не проверял-попробуешь.Если не пойдет- пиши на мыло.

On Error GoTo on_error_exit
    Dim aXl As New Excel.Application
    Dim aBook As Workbook
    Dim fileToOpen As String
    Set aXl = New Excel.Application
    aXl.Visible = True
    fileToOpen = "D:\Temp\test\Rn230401.706"
    aXl.Application.Workbooks.Open (fileToOpen)
    Set aBook = aXl.Workbooks.Item(1)
    With aBook.Worksheets(1)
        .Activate
        .Range("B:B").Copy
    End With
    With aBook
        .Sheets.Add
        .ActiveSheet.Paste Destination:=ActiveSheet.Range("A:A")
        .Worksheets(1).Rows("1:1").Select
    End With
    With aXl.Application
        .CutCopyMode = False
        .Selection.Delete Shift:=xlUp
    End With
    'вот сюда желательно вставить код для очистки
    'Clipboard,чтоб мозги компу не забивать
    aBook.Close SaveChanges:=False
    Set aBook = Nothing
    Set aXl = Nothing
on_error_exit:
    aXl.Application.Workbooks.Close
    Set aBook = Nothing
    aXl.Quit
    Set aXl = Nothing

Ответить

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



Вопросов: 5
Ответов: 8
 Профиль | | #2 Добавлено: 03.05.03 15:34
 у меня с Excel'ом есть небльшая трабла... после первой же загрузки (Set) повисает в процессах и не выгружается... и никакие Nothing не помогают... выгружается только после закрытия проги, которая его вызвала... как же его выковырять оттуда?

Ответить

Страница: 1 |

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



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