13°C
завтра: 12°C
Погода в Перми
13°C
вечером11°C
ночью8°C
завтра12°C
Подробно
 64,47
−0.7198
Курс USD ЦБ РФна 14 сентября
64,4711
−0.7198
 71,53
−0.2966
Курс EUR ЦБ РФна 14 сентября
71,5307
−0.2966
  • Нуна в програмулинке сделать так: в ВБейсике задал, она поколдовала, чатсь данных выдала, часть запросила исчо и в итоге все свои переменные должна сдить на лист екселя, в котором частично забиты всякие слова и фразы. Вопрос - как этот слив переменных в нужные ячейки осуществить?

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

  • Читайте документацию по 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 . В чем ошибка?

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

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

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

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

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

Модератор: