powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / копирование с помощью vba
55 сообщений из 55, показаны все 3 страниц
копирование с помощью vba
    #39438620
Tauri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.
Подскажите, пожалуйста, как скопировать в буфер обмена значение поля в форме с помощью vba?
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39438640
Попробуйте RunCommand acCmdCopy
А вообщев Аксе работа с буфером, это несколько системных API функций.
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39438664
Tauri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Анатолий ( Киев ),

Я ошибся. Скопировать в буфер обмена надо не значение поля, а значение переменной в процедуре vba.

Dim fio As String
fio = "клиент " & Me![Поле1] & ... и т.д.

Что делать?
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39438668
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tauri,

Значит, присвойте предварительно полю значение переменной.
И копируйте в буфер значение поля.
Тоже вариант.)))
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39438675
Tauri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,

Я думал об этом: добавить скрытое поле в форму и присваивать ему значение переменной.

1 DoCmd.GoToControl "скрытое поле" - как?
2 DoCmd.RunCommand acCmdCopy
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39438683
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39438688
Tauri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,

В процедуре

DoCmd.GoToControl "..."
DoCmd.RunCommand acCmdCopy

Синтаксис DoCmd.GoToControl "..." возможен если поле не скрыто (т.е. вывод на экран=да). А у меня поле не выводится на экран.

Поэтому надо искать способ копировать в буфер не значение поля, а значение самой переменной.

Что делать?
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39438697
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tauri__Michelle,
Что делать?

Ссылка дана выше.
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39438700
Tauri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndrF,

Т.е. эта процедура копирует значение переменной strTest в буфер обмена?

Dim d As DataObject

Public Sub PutInCb()
Dim strTest As String

strTest = "Test!"

Set d = New DataObject

d.SetText strTest
d.PutInClipboard
End Sub
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39438717
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tauri,

Ну, вот смотрите:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
   With Fld
      .Value = "ddddddddd"
      .Width = 0
      .Height = 0
      .SetFocus
      .SelStart = 0
      .SelLength = Len(Fld)
      DoCmd.RunCommand acCmdCopy
   End With


Кошмар.
Набираю все это с планшета.
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39438745
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tauri,

Пример в предыдущем посте имел целью показать, что поле
может иметь нулевые размеры, но при этом получать фокус и
позволять копировать свое значение.

То есть, можно разместить его скрытно, а мгновенные перемещения курсора
(на поле с нулевыми размерами и возврат на ScreenPreviousControl) никто не заметит.
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39438752
TauriТ.е. эта процедура копирует значение переменной strTest в буфер обмена?

Dim d As DataObject
... Для этого в референсах должна быть установлена ссылка на библиотеку, что не есть хорошо.
В указанной ссылке приведен текст модуля. Создайте такой же и пользуйтесь. Правда я не знаю, как это будет работать под Win 64b.

А почему вам нужен именно обмен через буфер? Где вы собираетесь использовать этот текст?
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39438853
Tauri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Анатолий ( Киев ),

Менеджер получает жалобу от клиента (форма с несколькими полями) и должна отправить её мастеру по e-mail. Для этого менеджер вручную копирует каждое поле формы и вставляет его в тело сообщения e-mail + в разные отчёты. Это неудобно. Нужна кнопка, чтобы формировала из полей единый текст и этот текст копировала в буфер для его дальнейшей отправки по e-mail и вставки в разные отчёты.
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39438858
Tauri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Анатолий ( Киев ),

Конечное сообщение выглядет так.
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39438871
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tauri,

А чем Вам мой способ не понравился?
Восемь (можно и шесть) коротких строк кода и все.
Слишком просто?)))
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39438872
Tauri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot Анатолий ( Киев )][quot Tauri]Т.е. эта процедура копирует значение переменной strTest в буфер обмена?


В указанной ссылке приведен текст модуля. Создайте такой же и пользуйтесь.

не получается использовать вариант

Dim d As DataObject

Public Sub PutInCb()
Dim strTest As String

strTest = "Test!"

Set d = New DataObject

d.SetText strTest
d.PutInClipboard
End Sub

ругается на Dim d As DataObject и на Set d = New DataObject
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39438874
Tauri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,

Да, я думаю, что ваш способ буду использовать. Другие способы пока не получаются.
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39438879
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tauri,

А почему сразу проигнорировали-то, мне просто интересно?
Чем больше кода, тем лучше?
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39438882
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot Анатолий ( Киев )]
Для этого в референсах должна быть установлена ссылка на библиотеку, что не есть хорошо.[/q]

Полминуты на поиск в интернете и код немного модифицирован:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Option Compare Database
Option Explicit

Dim d As Object

Public Sub PutInCb()
    Dim strTest As String
    
    strTest = "Test!"
    
    Set d = GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
    
    d.SetText strTest
    d.PutInClipboard
End Sub

Public Sub GetFromCb()
    d.GetFromClipboard
    MsgBox d.GetText(1)
End Sub



Проверил - работает.
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39438887
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и именно мой вариант на основе вышеприведенного:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
Option Compare Database
Option Explicit

Public Sub Test()
    ' Пошлем текст в буфер обмена
    SetTextInClipboard "Тестик 1"
    ' Прочитаем из буфера то что послали
    MsgBox GetTextFromClipboard
End Sub

Public Sub SetTextInClipboard(s As String)
    Dim strTest As String
    
    With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
        .SetText s
        .PutInClipboard
    End With
End Sub

Public Function GetTextFromClipboard() As String
    With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
        .GetFromClipboard
        GetTextFromClipboard = .GetText(1)
    End With
End Function
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39438889
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя выше можно еще выкинуть объявление лишней переменной...
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39438909
Tauri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,

Я не проигнорировал. Я сосредоточился на ранее предложенном мне варианте. И пытался понять, почему он у меня не получается (help смотрел и т.п.). А когда я полностью во всём запутался (я самоучка и многого не знаю), то я вернулся на форум и увидел Ваше письмо.
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39438912
Прогер_самоучка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tauriя самоучкане, ну это слишком!
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39438916
Tauri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,

а fld - это переменная? её надо описывать dim fld as ?
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39438919
Tauri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прогер_самоучка,

что слишком?
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39438922
Tauri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__MichelleTauri,

Ну, вот смотрите:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
   With Fld
      .Value = "ddddddddd"
      .Width = 0
      .Height = 0
      .SetFocus
      .SelStart = 0
      .SelLength = Len(Fld)
      DoCmd.RunCommand acCmdCopy
   End With


Кошмар.
Набираю все это с планшета.

Не получается. Говорит, что команда копировать в данное время недоступна.
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39438929
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tauri,

Конечно, Fld - это поле, в которое помещается подлежащий копированию текст.
Его Visible = True, но высота и ширина равны нулю - чтобы и доступ был возможен,
но происходило бы это незаметно.
Можно в конструкторе держать это поле с ненулевыми размерами,
а при открытии формы их обнулять.

Может, чуть погодя подготовлю Вам примерчик и выложу.
Там все предельно просто.
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39438932
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TauriНе получается. Говорит, что команда копировать в данное время недоступна.Потому что должно быть поле.
Все получится.
Пример сделаю, выложу.
Постараюсь сегодня.
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39438938
Tauri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,

При этом работает синтаксис

DoCmd.RunCommand acCmdSelectRecord
DoCmd.RunCommand acCmdCopy
DoCmd.GoToRecord , , acNewRec
DoCmd.RunCommand acCmdPaste

Так может быть выдёргивать данные сразу из таблицы?
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39438946
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tauri,

Но Вам же желательно не только выдернуть, но и вставить текст в письмо.
Попробуйте вставить выдернутую строку.
Если результат понравится, то почему бы и нет.
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39438947
Tauri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,

Мне интересно понять, почему Ваше решение у меня не получается. Я сделал поле в форме. Присваиваю ему нужную информацию. Но синтаксис

With Me![Поле1]
.Value = "ddddddddd"
.Width = 0
.Height = 0
.SetFocus
.SelStart = 0
.SelLength = Len(Me![Поле1])
DoCmd.RunCommand acCmdCopy
End With

всё равно не работает. Выдаёт ошибку о том, что команда копировать недоступна.
Не могу понять, где я ошибаюсь.
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39438952
Tauri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,

Всё! Ваш способ получился! Ура!
Спасибо.
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39438954
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tauri,

На первый взгляд все так, как надо.
Можете выложить базу?
Но максимум в Access2007. Иначе мне нечем будет смотреть.
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39438957
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tauri,
простотой вопрос:поместили Вы в буфер какую-то переменную и чо? Опишите, пожалуйста, полностью Вашу "хотелку"
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39438959
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tauri__Michelle,

Всё! Ваш способ получился! Ура!
Спасибо.Только обнуление размеров поля нужно вынести в процедуру Form_Open.
И в чем же было дело, почему не получалось?
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39438961
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku,

ТС уже раза два описывал, зачем ему это надо.)))
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39438962
Tauri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle, Анатолий ( Киев ), AndrF

Спасибо за помощь.
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39438967
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tauri__Michelle, Анатолий ( Киев ), AndrF

Спасибо за помощь.Пожалуйста.

Но на 20403276 ответить не соблаговолите?
Ладно, хорошо хоть, что мне теперь не нужно делать пример...)))
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39438968
Tauri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,

Я не знаю, почему не получалось. Я психанул, удалил весь пробный синтаксис. Потом успокоился. Скопировал по-новой Вашу идею, вставил в VBA и всё заработало. Нюанс в том, что я сначала удалил, а потом назад вернул абсолютно один и тот же синтаксис.


Me![Поле9].Value = Me![Поле3] & Me![Поле5] & Me![Поле7]
Me![Поле9].Width = 0
Me![Поле9].Height = 0
Me![Поле9].SetFocus
Me![Поле9].SelStart = 0
Me![Поле9].SelLength = Len(Me![Поле9])
DoCmd.RunCommand acCmdCopy

Только сначала он глючил, а потом заработал.

PS: я от знакомых программеров слышал, что иногда надо плясать танцы с бубнами и прога заработает :-))
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39438980
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tauri,

1. Не синтаксис, а код.
2. У меня другие взгляды - я верю в причинно-следственную связь.
3. Очень прошу - обнулять размеры при открытии формы, а не при копировании.
У меня было просто для демонстрации, что размеры в данном случае нулевые.

)))
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39438982
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор...а время в это время....)))
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39439002
Tauri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__MichelleTauri,
2. У меня другие взгляды - я верю в причинно-следственную связь.
3. Очень прошу - обнулять размеры при открытии формы, а не при копировании.
У меня было просто для демонстрации, что размеры в данном случае нулевые.



Ну конечно причинно-следственная связь. Естественно у меня в коде где-то были ошибки. Поэтому он не работал.
Обнулять размеры поля лучше при открытии формы только из-за удобства или есть какие-то нюансы?
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39439987
TauriНужна кнопка, чтобы формировала из полей единый текст и этот текст копировала в буфер для его дальнейшей отправки по e-mail и вставки в разные отчёты. Вернемся к началу. Есть несколько способов создать и отправить e-mail (например через CDO). Зачем вам бодаться с буфером?
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
копирование с помощью vba
    #39994910
assembler77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно еще вот так
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
 Dim d As Object
Dim strTest  As String

Set d = GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
strTest = Me.ПолеФормы1 & ", " & Me.ПолеФормы2 & " , " & Me.ПолеФормы3
MsgBox strTest
d.SetText strTest
d.PutInClipboard 



Проверил, работает
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39994934
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Седня участников форума "потянуло" на старенькое
А просто создать пользовательскую функцию и пользовать её,где понадобится-это маловасто будет лишних заморочек(создания объекта)?
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39997903
Фотография kniga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветствую!

Подскажите, пж, в этом коде:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
Dim d As Object
Dim strTest  As String

Set d = GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
strTest = Me.ПолеФормы1 & ", " & Me.ПолеФормы2 & " , " & Me.ПолеФормы3
MsgBox strTest
d.SetText strTest
d.PutInClipboard 



в скобках какой имеется ввиду объект?

Я сделал прайс-лист. На форме есть поля Наименование, Ед, Цена. На кнопку повесил процедуру
Код: vbnet
1.
2.
DoCmd.GoToControl "txtProduct"
    DoCmd.RunCommand acCmdCopy


которая копирует в буфер одно поле (потом значение вставляется в Excel), а хотелось бы, чтобы можно было скопировать все три поля и вставилось в Excel в разные ячейки. Подскажите, пж, как сделать?
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39997921
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kniga,
Надо только определиться куда вставлять(например последняя строка .CurrentRegion+1 или какая-то относительная ссылка-сами придумаете)
И подключите библиотеку MS Excel...
Грубо говоря как-то так (и зачем при этом буфер):
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
Dim xlApp As Excel.Application, wb As Workbook, ws As Worksheet
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = False   'в фоновом режиме,true активирует окно
Set wb = xlApp.Workbooks.Open("D:\MyDoc\Excel\myF.xls") 'путь к файлу Excel
Set ws = wb.ActiveSheet 'или конкретный лист
ws.Range("A6") = Me.ctl1
ws.Range("D4") = Me.ctl2
wb.Close (True)
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39998210
Фотография kniga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku,

спасибо большое за код!
Но, к сожалению, здесь вижу привязка к файлу и диапазону, а мне нужен именно буфер. Дело в том, что из прайс-листа надо копировать и вставлять данные в разные по оформлению таблицы. Есть уже готовые таблицы с данными и надо, например, просто заменить некоторые позиции, вот для этого просто из прайса копирую и вставляю )
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39998224
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kniga,
Тогда смотрите в сети там куча примеров по работе с буфером а если относительные ссылки будут постоянно изменяться, то автоматизировать этот процесс не удастся-только по одному полю и вся затея теряет смысл...
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39998235
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kniga
в скобках какой имеется ввиду объект?
буфер обмена же. В гугле забанили?

kniga
хотелось бы, чтобы можно было скопировать все три поля и вставилось в Excel в разные ячейки.

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
Public Function PutInClipboardText(sText As String)
On Error Resume Next
    With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
        .SetText sText
        .PutInClipboard
    End With
End Function
'вызов и три значения в три последовательные ячейки одной строки Excel из буфера обмена
?PutInClipboardText("Text1" & vbTab & "Text2" & vbTab & "Text3")
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39998237
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вдогонку:
kniga
вот для этого просто из прайса копирую и вставляю )
Тогда просто копируйте Ctrl+C и просто вставляйте Ctrl+V
Никогда не понимал,за редкими исключениями,при острой необходимости, "шараханий" из программы в программу (из ACCESS в EXCEL и наоборот)-может лучше подумать о создании(что там у Вас) приложения с использованием какого-то одного ПО
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39998351
Фотография kniga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург,

Да, то, что надо, спасибоо!! )
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39998352
Фотография kniga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku,

)) ну так там три (и более если полей больше) действия придется делать, а тут одним кликом.
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39998434
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kniga,
об этом и толкую: если 2 и 3 (или боле) ячейки ВСЕГДА будут расположены относительно первой одинаково Ваша идея реализуема,если же их расположение относительно неё будет меняться,то реализация не возможна.
А если скопировать нужно 1,2,4 или 6 значений?(хотя это ,в принципе,возможно,а вот при переменных относительных адресах-навряд ли)
Создайте программу которой сможет пользоваться даже дурак-только он и будет ей пользоваться
...
Рейтинг: 0 / 0
копирование с помощью vba
    #39998770
Фотография kniga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
столкнулся с такой проблемой,

копирую в excel поле с ценой, где формат поля 'денежный' применяя
Код: vbnet
1.
PutInClipboardText("Text1" & vbTab & "Text2" & vbTab & "Text3")


и если число с разделителем разрядов (а денежный формат с ним), то вставляется как текст, но если удалить пробел уже в ячейке excel, то оно будет уже как число. Если копируется число без разделителя, то вставляется в excel как число (как и требуется).
Пробовал это поле "завернуть" в Val([Text3]), но в буфер "цепляется" только цифра до пробела в разделителе. Например из 1 650 берет только 1 и вставляет только ее как число.

А в другом поле, например [text2], мне надо скопировать число как текст, потому что там надо сохранить впереди '0'. В excel вставляется без него. Здесь обратная задача, сохранить как текст )

Подскажите, пж, как исправить )
...
Рейтинг: 0 / 0
55 сообщений из 55, показаны все 3 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / копирование с помощью vba
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]