2°C
завтра: 11°C
Погода в Перми
2°C
днем6°C
вечером5°C
завтра11°C
Подробно
 92,51
−0.7860
Курс USD ЦБ РФна 25 апреля
92,5058
−0.7860
 98,91
−0.6491
Курс EUR ЦБ РФна 25 апреля
98,9118
−0.6491
  • Нуна в програмулинке сделать так: в ВБейсике задал, она поколдовала, чатсь данных выдала, часть запросила исчо и в итоге все свои переменные должна сдить на лист екселя, в котором частично забиты всякие слова и фразы. Вопрос - как этот слив переменных в нужные ячейки осуществить?

    Собирая кубик Рубика, можно познать Будду...,
    а можно и не познать.

  • Читайте документацию по VBA встроенную в Excel
    Ну или в Сети пошарьте, примеров масса. хотя бы здеся можно глянуть...

    Основной принцип моего существования — служение гуманистическим идеалам человечества!

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

    Собирая кубик Рубика, можно познать Будду...,
    а можно и не познать.

  • Например, вставим жирную двойку в ячейку А1 первого листа:

    Dim objXL As Object
    Dim objWb As Object
    Dim objWs As Object

    Set objXL = CreateObject("Excel.Application")
    Set objWb = objXL.Workbooks.Open("c:\MyFile.xls") ' имя своего открываемого файла
    Set objWs = objWb.Worksheets(1)

    With objWs.cells(1,1)
    .Font.Bold = True
    .Value = 2
    End With

    objWb.Close ("SaveChanges:=True")

    Set objWs = Nothing
    Set objWb = Nothing
    Set objXL = Nothing

  • ого, сенкис, работает. дальше думаю сам допру

    Собирая кубик Рубика, можно познать Будду...,
    а можно и не познать.

  • еще вопрос, распоследний. как имя xls файла запросить в относительных координатах (не с:\..., аневажногде, но в одной папке с бейсиковским файлом)

    Собирая кубик Рубика, можно познать Будду...,
    а можно и не познать.

  • VB6-го у меня нет, но судя по манам должно быть как-то так:
    На форму кидаем элемент управления "CommonDialog", его имя будет CommonDialog1

    Dim objXL As Object
    Dim objWb As Object
    Dim objWs As Object

    Set objXL = CreateObject("Excel.Application")
    CommonDialog1.InitDir = "C:\Начальный каталог"
    CommonDialog1.ShowOpen

    Set objWb = objXL.Workbooks.Open(CommonDialog1.FileName)
    Set objWs = objWb.Worksheets(1)

    With objWs.cells(1,1)
    .Font.Bold = True
    .Value = 2
    End With

    objWb.Close ("SaveChanges:=True")

    Set objWs = Nothing
    Set objWb = Nothing
    Set objXL = Nothing


    Ну и здесь немного инфы:
    http://msdn2.microsoft.com/en-us/library/256tssz7(VS.80).aspx

  • Сори, не правильно понял вопрос.
    Если файл лежит в одной папке с экзешником, то можно прописать так:

    Set objWb = objXL.Workbooks.Open(".\MyFile.xls")

  • Уж допристаю, пока везет.
    Программка сохраняет в xls без его собссно открытия.
    а как исчо в коде прописать так, чтоб файл xls изменился, открылся и не закрывался.

    Собирая кубик Рубика, можно познать Будду...,
    а можно и не познать.

  • Попробуйте закоментировать строку objWb.Close ("SaveChanges:=True")

  • при этом он спрашивает разрешение на сохранение, а сам лист не открывает, а надо, чтоб открыл и внес, а сохраню я сам

    Собирая кубик Рубика, можно познать Будду...,
    а можно и не познать.

  • А если убрать

    objWb.Close ("SaveChanges:=True")

    и сделать так:


    objXL.DisplayAlerts = False
    objXL.Visible = True

    Set objWs = Nothing
    Set objWb = Nothing
    objXL.DisplayAlerts = True
    Set objXL = Nothing


    Сработает?

  • плакаю:хммм:
    ввожу (" . \ file.xls"), а он пишет, что ошибка. Абсолютные координаты понимает, а относительные нет. Мож не правильно ввожу?

    Собирая кубик Рубика, можно познать Будду...,
    а можно и не познать.

  • Прям вот так вот, с пробелами?

  • не, это я тут для наглядности. Пишу в коде без пробелов: (".\file.xls")

    Собирая кубик Рубика, можно познать Будду...,
    а можно и не познать.

  • Set objWb = objXL.Workbooks.Open( App.Path+ "\MyFile.xls")

    Только учтите, что при вызове непосредственно из VB App.Path вернет каталог самого VB. Сначала компилите проект и при запуске exe она вернет уже каталог, где лежит exe-шник...

    Основной принцип моего существования — служение гуманистическим идеалам человечества!

  • подскажьте плизещё. Делаю обратную операцию. ВВожу следующее:
    Option Explicit
    Dim objXL As Object
    Dim objWB As Object
    Dim objWS As Object
    Dim orn(1 To 500) As String
    Dim orc(1 To 500) As Single
    Dim orr(1 To 500) As Byte
    Dim i As Integer

    Private Sub Form_Load()
    Set objXL = CreateObject("Excel.Application")
    Set objWB = objXL.Workbooks.Open(App.Path + "\list.xls")
    Set objWS = objWB.Worksheets(1)

    For i = 1 To 500
    orn(i) = objWS.cells(1, i + 3)
    Next i

    Tdata.Text = orn(3)

    Set objWS = Nothing
    Set objWB = Nothing
    Set objXL = Nothing

    End Sub

    Имею в виду, что элементы строкового массива orn равняются словам из первого столбца файла list.xls . В чем ошибка?

    Собирая кубик Рубика, можно познать Будду...,
    а можно и не познать.

  • Ура, сам нашел. :улыб:
    Все-равно сенкс.

    Собирая кубик Рубика, можно познать Будду...,
    а можно и не познать.

Записей на странице:

Перейти в форум

Модератор: