#0
by Russkiy
Привет, ребята! Мне требуется помощь: нужно в коде макроса (Excel) задать процедуру копирования переменной в буфер обмена. Коротко: задаю значение переменной, а затем нужно каким-то образом заставить это значение перейти в буфер обмена. Как это сделать? Если кто в курсе, подскажите, пожалуйста.
#2
by Азат
нажимаешь "Начать запись макроса" выполняешь все то, что тебе надо Нажимаешь "остановить запись макроса" Переходишь в VBA-окошко и получаешь вагон счастья
#3
by Torquader
Для начала, нужно понять, что такое буфер обмена и какие форматы он поддерживает. Потом, нужно осознать, что значение переменной должно быть представлено в одном из этих форматов, так как другого способа что-то записать в буфер обмена нет. Ну а дальше, нужно найти объект, который управляет буфером обмена. P.S. есть подозрение, что преобразование значения в текст и копирование текста в буфер обмена - самое оно.
#4
by Russkiy
Нет, ребята, похоже, вы меня ещё не поняли. Вручную мне неинтересно - данных много, времени мало... Надо автоматически из кода копировать в буфер обмена. То, что вы предлагаете - попробуйте, получится ли? Ведь то, что я копирую в буфер обмена, мне из него же надо вставлять в другой программе, например, в 1С
#5
by Russkiy
Да, конечно, я не против преобразования значения в текст и его копирования в буфер обмена. Вопрос в том, какой рагмент кода VBA может заставить комп это сделать?
#8
by Russkiy
Азат, я тут уже два часа просветляюсь именно тем способом, какой ты мне советуешь... Попробуй сам: получится у тебя?
#9
by Torquader
Dim d as DataObject d.SetText("MyTextForBuffer") d.PutInClipboard d.GetFromClipboard MsgBox d.GetText,0,"Clipboard однако"
#12
by Torquader
Он копирует значение переменной, но он не сказал, откуда берётся это значение (подозреваю, что где-то оно уже есть, но не в переменной).
#13
by Russkiy
Torquader, мой код до определённого места присваивает переменной некоторое значение из некоторой ячейки. А затем это значение мне нужно с помощью кода скопировать в буфер обмена. Вы, похоже, меня правильно понимаете. Я попробовал использовать Ваш фрагмент кода, сделав модуль: Sub Name Dim d As DataObject d.SetText ("MyTextForBuffer") d.PutInClipboard d.GetFromClipboard MsgBox d.GetText, 0, "Clipboard ??????" End Sub При попытке его отработать я получаю сообщение об ошибке: "User-defined type not defined" Что бы это значило?
#14
by Torquader
А то, что я, как всегда, поспешил - объект-то создать надо. Dim d as New DataObject или как там в VBA пишется - целый год уже туда не заглядывал ^_^
#18
by Russkiy
Я, к моему великому сожалению, чайник (хреново, мужики, быть чайником...). Поэтому мне хорошо бы узнать, как подключить эту библиотеку и что потом с ней делать, конкретно?
#19
by skunk
заходишь в редактор кода ... меню - tools->references ... в диалоге кликаешь по кнопке browse ... искаешь эту fm20.dll в папке system32 ... открыть ... в списке должно добавиться ... макрософт формс 2.0 либрари объект ... ставишь галочку(хотя она должна поставиться сама) ... ок ... радуешься
#21
by Russkiy
skunk, я всё сделал, как ты сказал. Спасибо тебе! Радуюсь, конечно, как не радоваться - прежде всего тому, что есть ещё у нас отзывчивые и добрые люди. Ага, пока писал - появилась твоя ссылка... Ща погляжу, чево там...
#24
by skunk
а дальше исправляешь "Dim d As DataObject" на "Dim d As New DataObject" и код работает ...
#26
by Russkiy
Да, skunk, заработало! Спасибо тебе! Думаю, дальше я уж смогу разобраться... Спасибо всем, ребята! И с Новым годом вас!
#27
by Torquader
А вообще, проще было задать вопрос google, так как он отвечает быстрее и без ошибок.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Открытие формы в VBA
- Как создать DBF с оговоренной структурой из Excel VBA?
- Как скопировать в буфер обмена текст ? Предполагаю, WSH, но как ? :) /SlonSpb
- Excel и 1С - вопрос про Excel?
- какой метод в VBA для отображения надписи в ячейке excel вертикально?
- Поиск нужного значение в листе Excel при загрузке документов из Excel в 1С
- Excel VBA: как программно добавить макрос?
- Как программно скопировать данные в буфер обмена из 1С?
- Программно скопировать область из Excel книги 1 в Excel книгу 2
- Excel и 1С7.7 Как задать имя книги при создании методом Excel.WorkBooks.Add
- 1С и буфер обмена (из буфера обмена в СписокЗначений)
- Можно ли отредактировать файл Excel из 1С без установленного Excel?
В этой группе 1С
- v7: Перенос данных из 1С:8 в 1С:77. Обход реквизитов справочника 1С:7.7 ч/з OLE
- Запуск обновления конфигурации 1С 8.2 из командной строки
- Конфликт блокировок при открытии документа
- Снять активность движений...
- Win 7 выдает сообщение об ошибке error_nod3ddevice
- Создание Com Объекта в веб клиенте
- Как открыть конфигурацию в управляемом приложении?
- Подсветка полей в табличной части
- Назначение файла cfgInfo.dat
- КА: не закрывается 25 счет с распределением по оплате труда
- Не могу установить Windows 2003 на сервер DELL. Проблема с SAS RAID.
- Какая вероятность совпадения внутреннего ИД элементов справочника?
- Убрать пустые строки в отчете
- Заменить стандартные сообщения выдаваемые 1с при ошибках?
- Как получить GUID элемента/документа в запросе?
- v7: SQL 2008 + 7.7 Нумерация документов????
- Планирование закупок в УТ11
- СКД отчет не видит период
- ЗиУП Не обнаружены данные для записи в табличную часть документа
- 8.2 УНФ Под одной ролью виден элемент формы под другой нет