Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.84/301: Рейтинг темы: голосов - 301, средняя оценка - 4.84
natalie

Как очистить буфер обмена?

17.11.2010, 10:01. Показов 62585. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
вот собственно и весь вопрос
Заранее спасибо
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.11.2010, 10:01
Ответы с готовыми решениями:

Как из макроса Excel очистить буфер обмена?
Как из макроса Excel очистить буфер обмена?

Как очистить Буфер Обмена перед закрытием книги?
Проблема такая !!! Я копирую(.Copy) большой диапазон ячеек range('C3:BB51') и вставляю их складывая их с ячейками другого листа...

Как очистить буфер..?
Извините, за вопрос из облатси VBA, но там в конфе глухо, да и проблема не только VBA'шная... Вчера я спросил о включении NumLock, не...

21
0 / 0 / 3
Регистрация: 28.01.2010
Сообщений: 279
17.11.2010, 10:13
Clipboard.Clear
0
natalie
17.11.2010, 10:49
Спасибо
natalie
17.11.2010, 16:14
не работает
Help!
Comanche
17.11.2010, 17:06
Объект ClipBoard не поддерживается в VBA (в отличие от VB). Делай так:
Visual Basic
1
2
3
4
5
6
7
8
9
Private Declare Function OpenClipboard Lib 'user32' (ByVal hwnd As Long) As Long
Private Declare Function EmptyClipboard Lib 'user32' () As Long
Private Declare Function CloseClipboard Lib 'user32' () As Long
'
Sub ClearClip()
    OpenClipboard Me.hWnd ' << если вызов не из формы, то ставь 0&
    EmptyClipboard
    CloseClipboard
End Sub
natalie
17.11.2010, 17:34
круто
БОЛЬШОЕ СПАСИБО
14 / 14 / 2
Регистрация: 23.03.2010
Сообщений: 635
17.11.2010, 21:29
2Comanche: и опять те же 'грабли'...

From: comanche
http://relib.com/forums/topic.asp?pg=100&id=827382

Дело в том, что вышепривед╦нные два примера (как и мой из другого топика) - для форм VB, а не VBA. Формы VBA не имеют свойства hWnd. И даже не имеют свойства hDC, по которому можно было бы восстановить хэндл...
0
1 / 1 / 1
Регистрация: 18.06.2008
Сообщений: 329
18.11.2010, 04:30
если в ёкселе, то
Application.CutCopyMode = False
0
1 / 1 / 0
Регистрация: 03.07.2009
Сообщений: 112
18.11.2010, 06:01
В Excel точно работает
Application.Calculate
0
Comanche
18.11.2010, 12:10
2 vlth: блин, ну точно - те же грабли! )
2 Natalie: поскольку 'Me.hWnd' бессмысленно в VBA (как уже бывало, я перепутался с VB), то пиши вместо этого там '0&' ВСЕГДА (а не только при вызове из модуля).
0 / 0 / 0
Регистрация: 18.12.2015
Сообщений: 1
15.06.2016, 07:52
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Dim objClpb As New DataObject, sStr As String
 
'Так отправляем в буфер обмена необходимый текст/значениев VBA MS Excel
sStr = "наш текст"
objClpb.SetText sStr
objClpb.PutInClipboard
 
 
'Так очищаем, вернее, просто делаем пустую запись в буфер обмена в VBA MS Excel
sStr = ""
objClpb.SetText sStr
objClpb.PutInClipboard
0
6997 / 2895 / 555
Регистрация: 19.10.2012
Сообщений: 8,803
15.06.2016, 08:22
vladpros, не работает!
Да и зачем так сложно, написали ведь выше уже для Экселя
Visual Basic
1
Application.CutCopyMode = False
Ну а что там у ТС - известно только ему...
0
2 / 2 / 0
Регистрация: 08.06.2017
Сообщений: 10
04.06.2019, 11:19
А в Ворде???
0
371 / 269 / 93
Регистрация: 18.11.2015
Сообщений: 1,001
04.06.2019, 11:36
_SVP_,
Visual Basic
1
Clipboard.Clear
очищает буфер обмена. Он не привязан к Word или Excel. Это буфер обмена Windows и поэтому будет одинаково работать в любом приложении где используется VBA.
Application.CutCopyMode = False - Это область для копирования вырезки для excel
1
371 / 269 / 93
Регистрация: 18.11.2015
Сообщений: 1,001
06.06.2019, 09:43
Блин, извиняюсь, затупил.
Clipboard.Clear - это в VB
Application.CutCopyMode = False
Это в VBA
1
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
06.06.2019, 10:13
Тоже не всегда срабатывает. Нашел один работающий вариант
Visual Basic
1
2
3
4
5
Public Sub ClearClipboard()
    With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
    .SetText Empty: .PutInClipboard
    End With
End Sub
Добавлено через 3 минуты
Application.CutCopyMode = False
не факт, то в памяти данные из Application
У меня данные брались из PDF методом Ctr+A Ctr+C
1
Заблокирован
06.06.2019, 10:49
_SVP_, поройся тут, может это оно - http://www.lessanvaezi.com/cle... ting-word/ ?
1
1 / 1 / 0
Регистрация: 04.06.2020
Сообщений: 25
10.08.2023, 16:22
Привет всем есть макрос который создает из буфера картинку и сохраняет его в pdf


Visual Basic
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
26
27
28
29
30
31
32
33
34
35
36
REM  *****  BASIC  *****
 
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal _bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
 
Private Const VK_SNAPSHOT = &H2C
 
Sub PrintScreewn()
dim document   as object
dim dispatcher as object
document   = ThisComponent.CurrentController.Frame
Dim Param1(0) as new com.sun.star.beans.PropertyValue
 
 
 
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
oPoint = createUnoStruct("com.sun.star.awt.Point")
Param1(0).Name = "Hidden"
Param1(0).Value = true
    keybd_event VK_SNAPSHOT, 1, 0, 0
    wait(100)
    NewDoc=StarDesktop.loadComponentFromURL("private:factory/sdraw" ,"_blank", 0, Param1())
    dispatcher.executeDispatch(NewDoc.CurrentController.Frame, ".uno:Paste", "", 0, Array())
    oPage = NewDoc.getDrawPages().getByIndex(0)
    oPoint.x = 1000
    oPoint.y = 1000
    oPage.getbyIndex(0).setposition(oPoint)
    Param1(0).Name =  "FilterName"
    Param1(0).Value = "draw_pdf_Export"
    aURL = "file:///c:/test/Scr_" & replace(date,".","-") & replace(time,":","") &".pdf"
 
    NewDoc.storetourl(aUrl,Param1())
    NewDoc.close true
    dispatcher.executeDispatch(document, ".uno:Print", "", 0, Array())
    
    
End Sub
подскажите какой макрос написать чтобы он после этого очищал сам буфер .
За ранее спасибо

Добавлено через 43 минуты
Сделал, может кому понадобиться ,выложил код

Visual Basic
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
REM  *****  BASIC  *****
Public Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long
Public Declare Function EmptyClipboard Lib "user32" () As Long
Public Declare Function CloseClipboard Lib "user32" () As Long
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal _bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Public Function ClearClipboard()
    OpenClipboard (0&)
    EmptyClipboard
    CloseClipboard
End Function
 
Private Const VK_SNAPSHOT = &H2C
 
Sub PrintScreewn()
dim document   as object
dim dispatcher as object
document   = ThisComponent.CurrentController.Frame
Dim Param1(0) as new com.sun.star.beans.PropertyValue
 
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
oPoint = createUnoStruct("com.sun.star.awt.Point")
Param1(0).Name = "Hidden"
Param1(0).Value = true
    keybd_event VK_SNAPSHOT, 1, 0, 0
    wait(100)
    NewDoc=StarDesktop.loadComponentFromURL("private:factory/sdraw" ,"_blank", 0, Param1())
    dispatcher.executeDispatch(NewDoc.CurrentController.Frame, ".uno:Paste", "", 0, Array())
    oPage = NewDoc.getDrawPages().getByIndex(0)
    oPoint.x = 1000
    oPoint.y = 1000
    oPage.getbyIndex(0).setposition(oPoint)
    Param1(0).Name =  "FilterName"
    Param1(0).Value = "draw_pdf_Export"
    aURL = "file:///c:/test/Scr_" & replace(date,".","-") & replace(time,":","") &".pdf"
 
    NewDoc.storetourl(aUrl,Param1())
    NewDoc.close true
    dispatcher.executeDispatch(document, ".uno:Print", "", 0, Array())
    wait(100)
    Call ClearClipboard
End Sub
1
6997 / 2895 / 555
Регистрация: 19.10.2012
Сообщений: 8,803
10.08.2023, 23:17
foxyra, этот код для какого приложения?
0
522 / 343 / 143
Регистрация: 21.09.2016
Сообщений: 1,312
14.08.2023, 10:17
Hugo121, похоже на обращение к LibreOffice из vb*
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.08.2023, 10:17
Помогаю со студенческими работами здесь

Как значение поместить в буфер обмена
Нужно значение переменной поместить в буфер обмена для вставки его в другом месте (на сайте в запрос, например) Программно вставлять мне...

Как поместить текст из переменной в буфер обмена?
Как типа скопировать текст? Что нужно: аналог команды Selection.Copy В ячейке находится текст. Я выбираю кусок текста. В ходе этой...

Как занести значение переменной в буфер обмена
Доброго дня! Вопрос как переменную &quot;а&quot; засунуть в буфер обмена, чтобы потом вставлять через ctrl+v? Есть код который использую в ворде: ...

Как из многостолбцового ListBox скопировать текст в буфер обмена?
Как из многостолбцового ListBox скопировать текст в буфер обмена?

Как скопировать все картинки (фото в формате *jpg) в буфер обмена?
Доброго времени суток :), Уважаемые форумчане, Есть много папок с разными файлами, мне надо открыв папку с файлами выбрать все файлы с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru