|
Получить excel ячейки в буфере обмена
|
|||
---|---|---|---|
#18+
Научился управлять данными в буфере обмена. Кладем что хочешь, получаем, что кладем. Проблем нет, когда кладем, можно xml положить, можно текст с разделителями. Ты положил, ты взял. А вот если кладет другое приложение, например Excel. То там только разделители строк, а вот разделители столбов 2 пробела. Вот код, как я забираю буфер: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
Вопрос, как достучаться в объекте (буфер обмена) до ячейки A3, если в буфере 5 столбиков? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2019, 14:13 |
|
Получить excel ячейки в буфере обмена
|
|||
---|---|---|---|
#18+
{1C3B4210-F441-11CE-B9EA-00AA006B1A69}: CLSID Microsoft Forms 2.1 DataObject ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2019, 14:35 |
|
Получить excel ячейки в буфере обмена
|
|||
---|---|---|---|
#18+
Если копировать и вставить через эту функцию A1(тут 2 точки)B1(тут символы новой строки) A2(тут 2 точки)B2(тут символы новой строки) Если копировать и вставить в блокнот A1(тут стрелка) B1(тут символы новой строки) A2(тут стрелка) B2(тут символы новой строки) Попробую узнать номер кода стрелки и применить Split для столбиков в строке и самих строк. А вот как получить ячейку A2, пока не соображу как из объекта, сделать Excel объект ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2019, 15:33 |
|
Получить excel ячейки в буфере обмена
|
|||
---|---|---|---|
#18+
JavaStudent, может объясните свою задачу? Зачем вам буфер обмена, если Excel ваш. Ведь значение ячейки можно получить другими способами. Если по вопросу, то v = SplitСтолбцов(SplitСтрок(1))(0) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2019, 16:16 |
|
Получить excel ячейки в буфере обмена
|
|||
---|---|---|---|
#18+
Кривцов Анатолий, Я копирую в Excel, а вставляю в базу SQL. Хочется проверить и получить значения ячеек. В вашем ответе не разобрался. Получаю значения ячеек в строке, между ячейками символ 9 (символ горизонтальной табуляции). В конце строки перенос строки. Хочется понять, что это Excel, что там есть ячейка A1 и тащить уже в базу. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2019, 17:47 |
|
Получить excel ячейки в буфере обмена
|
|||
---|---|---|---|
#18+
Кривцов Анатолий, Или, например, ячейка красная, зеленый фон и.т.д. В зависимости от это пляшем в ту или другую сторону. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2019, 17:49 |
|
Получить excel ячейки в буфере обмена
|
|||
---|---|---|---|
#18+
JavaStudent, В как воспользоваться вашей функцией? Например, копирую столбец excel и его нужно обработать в цикле. Не пойму, как получить построчно данные. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2019, 12:47 |
|
Получить excel ячейки в буфере обмена
|
|||
---|---|---|---|
#18+
JavaStudentКривцов Анатолий, Я копирую в Excel, а вставляю в базу SQL. Хочется проверить и получить значения ячеек. В вашем ответе не разобрался. Получаю значения ячеек в строке, между ячейками символ 9 (символ горизонтальной табуляции). В конце строки перенос строки. Хочется понять, что это Excel, что там есть ячейка A1 и тащить уже в базу.JavaStudentКривцов Анатолий, Или, например, ячейка красная, зеленый фон и.т.д. В зависимости от это пляшем в ту или другую сторону.Тогда бросай ходить в коротких штанишках обрезанного вусмерть MSForms.DataObject и надевай брючки подлиннее. Вот здесь лежит библиотека типов, в которой описаны (с адаптацией под VB6/VBA) множество системных API, включая интерфейс IDataObject. Описание здесь (для C/C++). Понадобятся методы EnumFormatEtc, GetData, может быть QueryGetData. Понадобится почитать документацию по ним и на несколько слоёв вглубь по ссылкам. Чтобы срезать угол, можно найти утилиту, позволяющую просматривать, в каких форматах лежат данные в буфере обмена. А далее понадобится немало reverse engineering-а (т. е. понадобится терпение), чтобы из этой кучи форматов выгрести что-то, что можно разобрать до нужной степени детализации. Удачи, Студент! ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2019, 00:52 |
|
Получить excel ячейки в буфере обмена
|
|||
---|---|---|---|
#18+
Архимедофф, рисуй кнопку, вешай на нее код, что сверху. Получи строку из буфера и разбирай ее. Посмотри функцию Split. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2019, 21:56 |
|
Получить excel ячейки в буфере обмена
|
|||
---|---|---|---|
#18+
ЦЦа, не в ту степь. Я сначала Microsoft Forms 2.1 DataObject поковыряю. Пока времени нет. Разобрал пока через разделители. Если разделителей (два символа с кодом 9) нет, значит не Excel. Но хочется все-таки объект Excel получить. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2019, 22:01 |
|
Получить excel ячейки в буфере обмена
|
|||
---|---|---|---|
#18+
JavaStudentНаучился управлять данными в буфере обмена. Кладем что хочешь, получаем, что кладем. Проблем нет, когда кладем, можно xml положить, можно текст с разделителями. Ты положил, ты взял. А вот если кладет другое приложение, например Excel. То там только разделители строк, а вот разделители столбов 2 пробела. Вот код, как я забираю буфер: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
Вопрос, как достучаться в объекте (буфер обмена) до ячейки A3, если в буфере 5 столбиков? Показать как писать запрос SQL к файлу Excel, а потом сразу отправить на SQL server? Без всякого буфера. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2019, 22:25 |
|
Получить excel ячейки в буфере обмена
|
|||
---|---|---|---|
#18+
JavaStudentЦЦа, не в ту степь.Хорошее начало альтернативной истории...JavaStudentЯ сначала Microsoft Forms 2.1 DataObject поковыряю. Пока времени нет. Разобрал пока через разделители. Если разделителей (два символа с кодом 9) нет, значит не Excel. Но хочется все-таки объект Excel получить....но у неё нет шанса случиЦЦа. Предлагаю помедитировать над скриншотом и возможности реализации подобного с помощью Microsoft Forms 2.x. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2019, 19:21 |
|
Получить excel ячейки в буфере обмена
|
|||
---|---|---|---|
#18+
Тогда я сделал так, проверил, что там текст. declare tr,td,i%,j% tr=split(StrMemory , chr(13)&chr(10)) получил массив строк, где chr(13)&chr(10) символы раздела строк for i=0 to ubound(tr) td=split(tr(i),chr(9)) -- получаем массив столбиков, chr(9) символ раздела столбиков debug.print tr(i) for j=0 to ubound(td) debug.print td(j) next next ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2021, 09:57 |
|
|
start [/forum/topic.php?fid=45&msg=39851290&tid=1609665]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
128ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 258ms |
total: | 474ms |
0 / 0 |