Страницы: 1
RSS
Удаление знака абзаца при копировании ячейки Excel, Удаление знака абзаца при копировании ячейки Excel
 
Есть макрос на форуме
Код
Sub the_priest_copy()
With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
    .SetText ActiveCell.Value
    .PutInClipboard
End With
End Sub

но он у меня не срабатывает. Когда запускаю он не копирует ячейку. При том что не выдает никакой ошибки
Как я понимаю ошибка состоит в строке GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}"), а точнее в ссылке на буфер обмена
Изменено: naum_c - 18.01.2022 10:11:20
 
naum_c, было на форуме несколько дней назад (может вчера 17/01/2022 ещё) — поищите
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
naum_c, а — я вспомнил) вашу тему удалили, т.к. она была с нарушением
Ответ был получен, не от меня, но я его сохранил  — дам только после того, как вы приведёте код в порядок  :)
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Цитата
написал:
дам только после того, как вы приведёте код в порядок  
Не понял, как я могу привести код в порядок, если я не знаю по какой причине он не работает?
 
Цитата
naum_c: как я могу привести код в порядок
я про визуал, а не функционал  :D
Выделите код и нажмите кнопку <…> на панели  :)
А ещё лучше — скопируйте всё сообщение в шапку темы (стартовое сообщение), а вместо него напишите del

UPD (замечание устранено): Получение данных из буфера обмена
Изменено: Jack Famous - 18.01.2022 10:04:25
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
del
Изменено: naum_c - 18.01.2022 10:13:39
 
naum_c, да, только не обязательно было копировать)))
Перенесите сообщение #3 в шапку, а вместо сообщений #3 и #7 напишите del
Ответ я дал выше
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Цитата
написал:
UPD (замечание устранено):  Получение данных из буфера обмена
Прочитал статью - ничего не понял. Статья о том как получить данные из буфера обмена. В моем случае наоборот в буфер обмена нужно вставить текст содержащийся в ячейке без значка абзаца ¶
Изменено: naum_c - 18.01.2022 10:16:19
 
naum_c, сейчас покажу (обновлю этот пост через несколько минут)
Затянулось… Разбираюсь с апишками
Апишки идут к чёрту - разбираюсь с вашим вариантом по аналогии с Работа с буфером обмена (Windows Clipboard) из VBA
Сделал с поздним связыванием, как у вас, но рекомендую подключить библиотеку
Проблему с удалением лишнего из данных в буфере можно решить только с вашим примером
Изменено: Jack Famous - 18.01.2022 11:45:52
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Мне нужно в Excel документе скопировать ячейку (Безымянный 1) и вставить ее в 1с без ¶ (Безымянный 2) Макрос, что вы сделали - не работает. Он ничего не копирует. Библиотека, вроде бы подключена (Безымянный 3)  
 
Цитата
naum_c: в Excel документе
вот документ и пришлите, а не скрины

Цитата
naum_c: Макрос, что вы сделали - не работает
у меня работает

Цитата
naum_c:Он ничего не копирует
его работа заключается в том, что он очищает БО, наполняет его и показывает, что в нём

Цитата
naum_c: Библиотека, вроде бы подключена
не та, что нужна, да и для работы моего макроса она не нужна (хоть и не помешает)
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Попробуйте так:
Код
Sub the_priest_copy()
    CreateObject("htmlfile").ParentWindow.ClipboardData.SetData "Text", ActiveCell.Value & ""
End Sub
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Дмитрий(The_Prist) Щербаков, привет!
Это что за колдунство?  :)
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Цитата
Jack Famous написал:
Это что за колдунство?
это альтернатива приведенному выше коду для работы с буфером обмена. Дело в том, что вот тот самый DataObject({1C3B4210-F441-11CE-B9EA-00AA006B1A69}), который выступает в качестве перемычки для работы с буфером имеет некоторые недостатки. И какие-то лишние символы переноса могут появляться и отказ от корректной работы в некоторых случаях. Например, в данном случае, вполне вероятно, что при запуске кода у человека открыты окна проводника(т.е. хоть какая-то папка).
naum_c, что будет, если закрыть все окна, кроме 1С и Excel - код из первого сообщения заработает?
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
Дмитрий(The_Prist) Щербаков: имеет некоторые недостатки
а при работе с ранним связыванием?
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
вообще без разницы. Там проблема больше с виндой, если ничего не путаю. Начиная с Windows 8 точно были танцы с бубном при работе с DataObject, притом проблема плавающая - на одном ПК может проявиться, на другом нет.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Дмитрий(The_Prist) Щербаков, спасибо - возьму на заметку  :idea:
Метод стабилен? Какие замечены недостатки? Как сделать раннее связывание?
Для получения данных тоже лучше ЕГО (код под спойлером ниже) использовать?
Коды
Изменено: Jack Famous - 18.01.2022 12:52:31
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
, ваш макрос сработал. Спасибо. Теперь все работает
 
Цитата
Jack Famous написал:
Метод стабилен? Какие замечены недостатки?
на данный момент никаких
Цитата
Jack Famous написал:
Как сделать раннее связывание?
библиотека Microsoft HTML Object Library
Код
Dim ohtml As New HTMLDocument
ohtml.parentWindow.ClipboardData.SetData "Text", ActiveCell.Value & ""

Цитата
Jack Famous написал:
Для получения данных тоже лучше  ЕГО использовать?
я бы его использовал для надежности.
Изменено: Дмитрий(The_Prist) Щербаков - 18.01.2022 13:07:07
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Дмитрий(The_Prist) Щербаков, спасибо!  :idea:
Функции и процедуры на основе обоих библиотек (раннее связывание)
Изменено: Jack Famous - 18.01.2022 13:11:47
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
На дворе 2024 год, а мы придумываем какие-то костыли, чтобы тупо вставить текст без символа абзаца. Почему бы не встроить это в настройки excel. Такой мощный инструмент, и такую мелочь не могут пофиксить, чтобы миллионам на планете жилось хорошо.  :sceptic:  
Изменено: Иван Доброславин - 07.02.2024 17:04:48
Страницы: 1
Наверх