Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Постраничная разбивка и сохранение при слиянии excel и word, Не получается через ActiveDocument.MailMerge.DataSource.DataFields.Value получить значение полей при процедуре слияния word и excel
 
Добрый день, уважаемые форумчане.

Пытаюсь средствами VBA управлять процессом слияния word и excel.
Штатными средствами word можно делать слияние либо по всем строкам источника данных, либо по конкретному диапазону строк. Записал макрос слияния одной строки и запустил в цикле. При этом мне не удается получить значение полей документа слияния. Всегда выдается только значение первой строки таблицы.
Пробовал в разных вариантах, потратил несколько часов в поисках, но всё тщетно - выдаются только поля первой страницы слияния, остальные не выводятся. Решил обратиться на форум. Буду признателен за подсказки.

Код:
Код
Sub my_macro()
 
For i = 1 To 2

    With ActiveDocument.MailMerge
        .Destination = wdSendToNewDocument
        .SuppressBlankLines = True
        
        
        With .DataSource
            .FirstRecord = i
            .LastRecord = i
            lname = ActiveDocument.MailMerge.DataSource.DataFields(2).Value
            MsgBox (lname)
        
        End With
                
        .Execute Pause:=False
       
    End With
    
   Windows("my_print").Activate
    
Next i
    
End Sub
Прикладываю сам файл и источник данных.
Графические элементы через Pset в UserForm, Попытка нарисовать график через Pset и UserForm
 
Добрый день уважаемые форумчане!

2й день бьюсь никак не могу найти ответ: хочу изобразить свободные кривые на графике (вроде синусоид, парабол и разного рода кривых).
Но не через стандартные диаграммы, а вроде тех, что рисуются в математических пакетах разных.

Нашел методичку (Использование графики в VBA), где описано, что это возможно, например, через UserForm.

Однако подозреваю, что этот труд писался для более ранних версий, у меня Excel 2016 и на форму (которую еще пришлось поискать куда теперь спрятали) через Pset не выводит ничего. Долгие поиски по нашему и зарубежному интернету тоже не привели к ответу.

Можете подсказать, как вывести точку по координатам? Пока есть такой код в самой форме:
Код
Private Sub UserForm_Click()

Dim UF1 As UserForm1
Set UF1 = New UserForm1

    UF1.Caption = "UF2"
    UF1.Scale (0, 0)-(120, 120)
    UF1.PSet (10, 10), vbRed
    UF1.Line (0, 0)-(50, 50), 1, B
    UF1.Show  
End Sub
При этом выводится только чистый лист формы при запуске, без каких-либо элементов.
Работа с буфером обмена данных VBA Excel как с массивом
 
Добрый день!

На форуме нашел решение работы с буфером обмена данных.
Код
Function ClipboardText()
    With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
        .GetFromClipboard
        ClipboardText = .GetText
    End With
End Function

Но при запуске выдаётся только первое значение выбранного диапазона.
А мне нужно, чтобы выбрав диапазон и скопировав его в буфер можно было поработать с каждым значением, как с массивом.
Как это можно реализовать?
Изменено: alexuspehov@mail.ru - 15.01.2020 09:06:00
Страницы: 1
Наверх