Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Что в буфере обмена? - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
Что в буфере обмена?
Alex_ST Дата: Вторник, 07.05.2013, 09:05 | Сообщение № 1
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Мне понадобилось, чтобы процедура работала с ДИАПАЗОНОМ/ЯЧЕЙКОЙ, помещёнными в буфер пользователем. Если буфер пуст или там не диапазон, то выйти.
Что-то я не соображу, как программно выяснить, что находится в буфере обмена?
Сбросился (пустой)?
А если не пустой, то что в нём? Диапазон? Текст? Диаграмма? Рисунок? и т.д.?



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Вторник, 07.05.2013, 09:05
 
Ответить
СообщениеМне понадобилось, чтобы процедура работала с ДИАПАЗОНОМ/ЯЧЕЙКОЙ, помещёнными в буфер пользователем. Если буфер пуст или там не диапазон, то выйти.
Что-то я не соображу, как программно выяснить, что находится в буфере обмена?
Сбросился (пустой)?
А если не пустой, то что в нём? Диапазон? Текст? Диаграмма? Рисунок? и т.д.?

Автор - Alex_ST
Дата добавления - 07.05.2013 в 09:05
Матраскин Дата: Вторник, 07.05.2013, 10:04 | Сообщение № 2
Группа: Друзья
Ранг: Обитатель
Сообщений: 375
Репутация: 81 ±
Замечаний: 0% ±

20xx
Alex_ST,
[vba]
Код
Sub ПримерИспользования()
     txt = ClipboardText
     MsgBox txt, vbInformation, "Содержимое буфера обмена Windows"
End Sub

Function ClipboardText() ' чтение из буфера обмена
    With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
         .GetFromClipboard
         ClipboardText = .GetText
     End With
End Function

Sub SetClipboardText(ByVal txt$) ' запись в буфер обмена
    With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
         .SetText txt$
         .PutInClipboard
     End With
End Sub
[/vba]


в интернете опять кто-то не прав
 
Ответить
СообщениеAlex_ST,
[vba]
Код
Sub ПримерИспользования()
     txt = ClipboardText
     MsgBox txt, vbInformation, "Содержимое буфера обмена Windows"
End Sub

Function ClipboardText() ' чтение из буфера обмена
    With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
         .GetFromClipboard
         ClipboardText = .GetText
     End With
End Function

Sub SetClipboardText(ByVal txt$) ' запись в буфер обмена
    With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
         .SetText txt$
         .PutInClipboard
     End With
End Sub
[/vba]

Автор - Матраскин
Дата добавления - 07.05.2013 в 10:04
Alex_ST Дата: Вторник, 07.05.2013, 10:12 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Про то, как положить/вынуть из буфера обмена при помощи GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") я и сам прекрасно знаю.

Но я абсолютно не понимаю, какое это имеет отношение к вопросу "Как можно узнать тип объекта, находящегося в буфере?"



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеПро то, как положить/вынуть из буфера обмена при помощи GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") я и сам прекрасно знаю.

Но я абсолютно не понимаю, какое это имеет отношение к вопросу "Как можно узнать тип объекта, находящегося в буфере?"

Автор - Alex_ST
Дата добавления - 07.05.2013 в 10:12
M73568 Дата: Вторник, 07.05.2013, 10:38 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 197
Репутация: 46 ±
Замечаний: 0% ±

2007-2013
[vba]
Код
Application.ClipboardFormats
[/vba]
не оно?

http://msdn.microsoft.com/ru-ru/library/office/ff836533.aspx

и тут целый список значений

http://msdn.microsoft.com/ru-ru/library/office/ff839748.aspx


Сообщение отредактировал M73568 - Вторник, 07.05.2013, 10:40
 
Ответить
Сообщение[vba]
Код
Application.ClipboardFormats
[/vba]
не оно?

http://msdn.microsoft.com/ru-ru/library/office/ff836533.aspx

и тут целый список значений

http://msdn.microsoft.com/ru-ru/library/office/ff839748.aspx

Автор - M73568
Дата добавления - 07.05.2013 в 10:38
Матраскин Дата: Вторник, 07.05.2013, 10:53 | Сообщение № 5
Группа: Друзья
Ранг: Обитатель
Сообщений: 375
Репутация: 81 ±
Замечаний: 0% ±

20xx
Alex_ST,
я отвечал на вопрос :
Цитата (Alex_ST)
как программно выяснить, что находится в буфере обмена?


в интернете опять кто-то не прав
 
Ответить
СообщениеAlex_ST,
я отвечал на вопрос :
Цитата (Alex_ST)
как программно выяснить, что находится в буфере обмена?

Автор - Матраскин
Дата добавления - 07.05.2013 в 10:53
Alex_ST Дата: Вторник, 07.05.2013, 10:55 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
M73568,
спасибо большое.
Буду рыть в этом направлении. Там, оказывается, есть в чём поковыряться.
Отпишусь.



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
Сообщение M73568,
спасибо большое.
Буду рыть в этом направлении. Там, оказывается, есть в чём поковыряться.
Отпишусь.

Автор - Alex_ST
Дата добавления - 07.05.2013 в 10:55
Alex_ST Дата: Вторник, 07.05.2013, 11:00 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Цитата (Матраскин)
я отвечал на вопрос :
Цитата (Alex_ST)
как программно выяснить, что находится в буфере обмена?

Ну и как по-Вашему при помощи функций "Поместить ТЕКСТ в буфер обмена"/"Получить ТЕКСТ из буфера обмена" можно узнать,
Цитата (Alex_ST)
что находится в буфере обмена?
Сбросился (пустой)?
А если не пустой, то что в нём? Диапазон? Текст? Диаграмма? Рисунок? и т.д.?



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Вторник, 07.05.2013, 11:00
 
Ответить
Сообщение
Цитата (Матраскин)
я отвечал на вопрос :
Цитата (Alex_ST)
как программно выяснить, что находится в буфере обмена?

Ну и как по-Вашему при помощи функций "Поместить ТЕКСТ в буфер обмена"/"Получить ТЕКСТ из буфера обмена" можно узнать,
Цитата (Alex_ST)
что находится в буфере обмена?
Сбросился (пустой)?
А если не пустой, то что в нём? Диапазон? Текст? Диаграмма? Рисунок? и т.д.?

Автор - Alex_ST
Дата добавления - 07.05.2013 в 11:00
Alex_ST Дата: Вторник, 07.05.2013, 11:40 | Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Что-то там накручено в Application.ClipboardFormats
Вроде бы возвращается одномерный массив целых значений... И даже приведён список возможных значений.
Накатал процедурку:[vba]
Код
Sub test_ClipboardFormats()
    Dim aFmt
    For Each aFmt In Application.ClipboardFormats
        Debug.Print aFmt
    Next
End Sub
[/vba]
Анализировал ответы в Immediate с разными скопированными в буфер объектами.
Высянил, что в списке нет очень многих возвращаемых процедурой значений sad
Так и не понял, как из этого массива понять, диапазон в буфере или нет?



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Вторник, 07.05.2013, 11:43
 
Ответить
СообщениеЧто-то там накручено в Application.ClipboardFormats
Вроде бы возвращается одномерный массив целых значений... И даже приведён список возможных значений.
Накатал процедурку:[vba]
Код
Sub test_ClipboardFormats()
    Dim aFmt
    For Each aFmt In Application.ClipboardFormats
        Debug.Print aFmt
    Next
End Sub
[/vba]
Анализировал ответы в Immediate с разными скопированными в буфер объектами.
Высянил, что в списке нет очень многих возвращаемых процедурой значений sad
Так и не понял, как из этого массива понять, диапазон в буфере или нет?

Автор - Alex_ST
Дата добавления - 07.05.2013 в 11:40
Матраскин Дата: Вторник, 07.05.2013, 17:44 | Сообщение № 9
Группа: Друзья
Ранг: Обитатель
Сообщений: 375
Репутация: 81 ±
Замечаний: 0% ±

20xx
Alex_ST,
Цитата (Alex_ST)
Что-то я не соображу, как программно выяснить, что какой тип данных находится в буфере обмена?


в интернете опять кто-то не прав
 
Ответить
СообщениеAlex_ST,
Цитата (Alex_ST)
Что-то я не соображу, как программно выяснить, что какой тип данных находится в буфере обмена?

Автор - Матраскин
Дата добавления - 07.05.2013 в 17:44
Alex_ST Дата: Вторник, 07.05.2013, 18:19 | Сообщение № 10
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
И что дальше?
Матраскин, прекращайте флуд. Учитесь признавать свои ошибки, вызванные неумением внимательно читать чужие посты.
Посмотрите внимательно на время создания и редактирования старт-топика: Я НИЧЕГО в нём не исправлял - ни текста, ни заголовка темы, ни пояснения.
Разве я хоть словом там обмолвился о том, что мне нужен текст из буфера обмена?
Речь везде шла именно о типе данных. Или Вы принципиально до конца не дочитываете ни заголовки, ни топики?



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеИ что дальше?
Матраскин, прекращайте флуд. Учитесь признавать свои ошибки, вызванные неумением внимательно читать чужие посты.
Посмотрите внимательно на время создания и редактирования старт-топика: Я НИЧЕГО в нём не исправлял - ни текста, ни заголовка темы, ни пояснения.
Разве я хоть словом там обмолвился о том, что мне нужен текст из буфера обмена?
Речь везде шла именно о типе данных. Или Вы принципиально до конца не дочитываете ни заголовки, ни топики?

Автор - Alex_ST
Дата добавления - 07.05.2013 в 18:19
ikki Дата: Среда, 08.05.2013, 15:49 | Сообщение № 11
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
честно - не проверял ни в одном глазу.
Алексей, посмотри - может, разберёшься, что к чему...
но предупреждаю - это WinAPI

http://vbnet.mvps.org/index.h....ats.htm


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki
 
Ответить
Сообщениечестно - не проверял ни в одном глазу.
Алексей, посмотри - может, разберёшься, что к чему...
но предупреждаю - это WinAPI

http://vbnet.mvps.org/index.h....ats.htm

Автор - ikki
Дата добавления - 08.05.2013 в 15:49
M73568 Дата: Среда, 08.05.2013, 16:34 | Сообщение № 12
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 197
Репутация: 46 ±
Замечаний: 0% ±

2007-2013
Цитата (ikki)
честно - не проверял ни в одном глазу.


Сильно не копался, но предполагаю что функция
[vba]
Код
Private Declare Function GetClipboardData Lib "user32" _
    (ByVal uFormat As Long) As Long
[/vba]
Возвращает указатель на объект который хранится в буфере обмена, а уже как с ним обращаться, зависит от того что возвратит

[vba]
Код
Private Declare Function IsClipboardFormatAvailable Lib "user32" _
    (ByVal uFormat As Long) As Long
[/vba] и вот уже на основании этих данных и выдёргивать из буфера обмена через GetClipboardData в нужном формате
там в Related: ссылка на DragQueryFile: Identify Files Copied to the Clipboard в котором расписано как можно выдернуть из буфера обмена список файлов скопированных в Проводнике


Сообщение отредактировал M73568 - Среда, 08.05.2013, 16:34
 
Ответить
Сообщение
Цитата (ikki)
честно - не проверял ни в одном глазу.


Сильно не копался, но предполагаю что функция
[vba]
Код
Private Declare Function GetClipboardData Lib "user32" _
    (ByVal uFormat As Long) As Long
[/vba]
Возвращает указатель на объект который хранится в буфере обмена, а уже как с ним обращаться, зависит от того что возвратит

[vba]
Код
Private Declare Function IsClipboardFormatAvailable Lib "user32" _
    (ByVal uFormat As Long) As Long
[/vba] и вот уже на основании этих данных и выдёргивать из буфера обмена через GetClipboardData в нужном формате
там в Related: ссылка на DragQueryFile: Identify Files Copied to the Clipboard в котором расписано как можно выдернуть из буфера обмена список файлов скопированных в Проводнике

Автор - M73568
Дата добавления - 08.05.2013 в 16:34
M73568 Дата: Среда, 08.05.2013, 16:37 | Сообщение № 13
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 197
Репутация: 46 ±
Замечаний: 0% ±

2007-2013
Так как скопированные ячейки многосложный объект, хранящий в себе кучу инфы, то функция GetClipboardFormatName и возвращает кучу типов (у меня около 30) вне зависимости от количества ячеек
 
Ответить
СообщениеТак как скопированные ячейки многосложный объект, хранящий в себе кучу инфы, то функция GetClipboardFormatName и возвращает кучу типов (у меня около 30) вне зависимости от количества ячеек

Автор - M73568
Дата добавления - 08.05.2013 в 16:37
Alex_ST Дата: Среда, 08.05.2013, 20:01 | Сообщение № 14
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Цитата (ikki)
но предупреждаю - это WinAPI
Спасибо за предупреждение. WinAPI к стыду моему - не для меня sad
Ну не понимаю я их. А использовать что-то, не понимая как это работает, а просто тупо копируя откуда-то я очень не люблю.
Может быть попытаться с другой стороны к задаче подойти? Не узнавать тип объекта в буфере, а узнавать, является ли объект в буфере диапазоном?
Ну, т.е., например, что-то типа этого:
[vba]
Код
Dim rRng As Range
On Error Resume Next
Set rRng = ' а вот тут как раз и засада: как из буфера обмена что-то запихнуть в переменную чтобы выяснить, "подходит ли размер"?  
If Err Then Exit Sub
[/vba]



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Среда, 08.05.2013, 20:02
 
Ответить
Сообщение
Цитата (ikki)
но предупреждаю - это WinAPI
Спасибо за предупреждение. WinAPI к стыду моему - не для меня sad
Ну не понимаю я их. А использовать что-то, не понимая как это работает, а просто тупо копируя откуда-то я очень не люблю.
Может быть попытаться с другой стороны к задаче подойти? Не узнавать тип объекта в буфере, а узнавать, является ли объект в буфере диапазоном?
Ну, т.е., например, что-то типа этого:
[vba]
Код
Dim rRng As Range
On Error Resume Next
Set rRng = ' а вот тут как раз и засада: как из буфера обмена что-то запихнуть в переменную чтобы выяснить, "подходит ли размер"?  
If Err Then Exit Sub
[/vba]

Автор - Alex_ST
Дата добавления - 08.05.2013 в 20:01
LightZ Дата: Пятница, 17.05.2013, 22:42 | Сообщение № 15
Группа: Авторы
Ранг: Форумчанин
Сообщений: 120
Репутация: 48 ±
Замечаний: 0% ±

Привет
Вариант как узнать диапазон в буфере или нет
Не совсем уверен или подойдёт такое решение smile

[vba]
Код
Sub tt_()
     On Error Resume Next
     Dim txt$, i&, lCount&
     Dim splTmp1$(), splTmp2$()
     txt = ClipboardText

     splTmp1 = Split(Application.Trim(txt), Chr(13) & Chr(10))
     For i = 0 To UBound(splTmp1)
         If InStr(splTmp1(i), Chr(9)) Then
             splTmp2 = Split(splTmp1(i), Chr(9))
             lCount = lCount + (UBound(splTmp2) + 1)
         End If
     Next
     If lCount = 0 Then lCount = UBound(splTmp1)

     If lCount <= 0 Then MsgBox "В буфере ничего НЕТ"
     If lCount = 1 Then MsgBox "В буфере НЕ массив"
     If lCount > 1 Then MsgBox "В буфере массив"
     Debug.Print lCount
End Sub

Function ClipboardText()
     With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
         .GetFromClipboard
         ClipboardText = .GetText
     End With
End Function
[/vba]
К сообщению приложен файл: buffer.xls (50.5 Kb)


E-mail: overseerpower@gmail.com
Skype: Bogdan_Rud
WMR: R166238237296
 
Ответить
СообщениеПривет
Вариант как узнать диапазон в буфере или нет
Не совсем уверен или подойдёт такое решение smile

[vba]
Код
Sub tt_()
     On Error Resume Next
     Dim txt$, i&, lCount&
     Dim splTmp1$(), splTmp2$()
     txt = ClipboardText

     splTmp1 = Split(Application.Trim(txt), Chr(13) & Chr(10))
     For i = 0 To UBound(splTmp1)
         If InStr(splTmp1(i), Chr(9)) Then
             splTmp2 = Split(splTmp1(i), Chr(9))
             lCount = lCount + (UBound(splTmp2) + 1)
         End If
     Next
     If lCount = 0 Then lCount = UBound(splTmp1)

     If lCount <= 0 Then MsgBox "В буфере ничего НЕТ"
     If lCount = 1 Then MsgBox "В буфере НЕ массив"
     If lCount > 1 Then MsgBox "В буфере массив"
     Debug.Print lCount
End Sub

Function ClipboardText()
     With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
         .GetFromClipboard
         ClipboardText = .GetText
     End With
End Function
[/vba]

Автор - LightZ
Дата добавления - 17.05.2013 в 22:42
Саня Дата: Пятница, 17.05.2013, 23:18 | Сообщение № 16
Группа: Друзья
Ранг: Ветеран
Сообщений: 1068
Репутация: 560 ±
Замечаний: 0% ±

XL 2016
как всегда "обман":
[vba]
Код
Sub NoAPIClipboard()
     Dim bEv As Boolean, bSUp As Boolean
     bEv = Application.EnableEvents
     bSUp = Application.ScreenUpdating

     Application.EnableEvents = False
     Application.ScreenUpdating = False
     Dim wkbTemp As Workbook: Set wkbTemp = Workbooks.Add
     ActiveSheet.Paste

     Dim vRng(): vRng = ActiveWindow.RangeSelection.Value
     Dim lW As Long, lH As Long
     lW = UBound(vRng, 2) - LBound(vRng, 2) + 1
     lH = UBound(vRng, 1) - LBound(vRng, 1) + 1
      
     Debug.Print lH & " x " & lW

     wkbTemp.Close False

     Application.ScreenUpdating = bSUp
     Application.EnableEvents = bEv
      
     Stop    ' см. Locals
      
     Dim rngDonor As Range
     Set rngDonor = ActiveCell.Resize(lH, lW)
      
     rngDonor.Value = vRng
End Sub
[/vba]
 
Ответить
Сообщениекак всегда "обман":
[vba]
Код
Sub NoAPIClipboard()
     Dim bEv As Boolean, bSUp As Boolean
     bEv = Application.EnableEvents
     bSUp = Application.ScreenUpdating

     Application.EnableEvents = False
     Application.ScreenUpdating = False
     Dim wkbTemp As Workbook: Set wkbTemp = Workbooks.Add
     ActiveSheet.Paste

     Dim vRng(): vRng = ActiveWindow.RangeSelection.Value
     Dim lW As Long, lH As Long
     lW = UBound(vRng, 2) - LBound(vRng, 2) + 1
     lH = UBound(vRng, 1) - LBound(vRng, 1) + 1
      
     Debug.Print lH & " x " & lW

     wkbTemp.Close False

     Application.ScreenUpdating = bSUp
     Application.EnableEvents = bEv
      
     Stop    ' см. Locals
      
     Dim rngDonor As Range
     Set rngDonor = ActiveCell.Resize(lH, lW)
      
     rngDonor.Value = vRng
End Sub
[/vba]

Автор - Саня
Дата добавления - 17.05.2013 в 23:18
Alex_ST Дата: Суббота, 18.05.2013, 20:58 | Сообщение № 17
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Ребята, спасибо за предложенные варианты.
К сожалению, сейчас на работе полный завал делами, очень далёкими от Excel'я...
Пробовать что-то совсем некогда.
Но при простом просмотре что-то мне кажется, что достоверность обоих вами предложенных методов достаточно низка.
Ведь если использовать метод Богдана, то ведь в буфере обмена вполне может быть и обычный текст, слова которого разделены CR-LF'ами.
А у Сашиного метода если в буфере опять же просто текст, то он прекрасно вставится в одну ячейку или диапазон, если там были CR-LF'ы. И что? Или я что-то проглядел/не понял?
Действительно, наверное, нужно создавать новую книгу. А вот вставлять в её активную ячейку что-то, характерное только для диапазонов, используя PasteSpecial
Ну, например, ширину столбца - xlPasteColumnWidths или просто формат - xlPasteFormats
Тогда, если будет ошибка (обработчик, естественно, должен быть включен), то значит в буфере был не диапазон, а если ошибки при спец.вставке не будет, то диапазон.
Как вам такой алгоритм? Какие видны подводные камни?
Я, к сожалению, проверить на работе смогу не скоро. А тогда забудется.



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеРебята, спасибо за предложенные варианты.
К сожалению, сейчас на работе полный завал делами, очень далёкими от Excel'я...
Пробовать что-то совсем некогда.
Но при простом просмотре что-то мне кажется, что достоверность обоих вами предложенных методов достаточно низка.
Ведь если использовать метод Богдана, то ведь в буфере обмена вполне может быть и обычный текст, слова которого разделены CR-LF'ами.
А у Сашиного метода если в буфере опять же просто текст, то он прекрасно вставится в одну ячейку или диапазон, если там были CR-LF'ы. И что? Или я что-то проглядел/не понял?
Действительно, наверное, нужно создавать новую книгу. А вот вставлять в её активную ячейку что-то, характерное только для диапазонов, используя PasteSpecial
Ну, например, ширину столбца - xlPasteColumnWidths или просто формат - xlPasteFormats
Тогда, если будет ошибка (обработчик, естественно, должен быть включен), то значит в буфере был не диапазон, а если ошибки при спец.вставке не будет, то диапазон.
Как вам такой алгоритм? Какие видны подводные камни?
Я, к сожалению, проверить на работе смогу не скоро. А тогда забудется.

Автор - Alex_ST
Дата добавления - 18.05.2013 в 20:58
Саня Дата: Суббота, 18.05.2013, 21:33 | Сообщение № 18
Группа: Друзья
Ранг: Ветеран
Сообщений: 1068
Репутация: 560 ±
Замечаний: 0% ±

XL 2016
я предложил чисто идею - чтобы понять что в буфере, его надо "выплюнуть" на лист, а уж что ты там ищешь конкретно - это нюансы.
я копировал таблицу из браузера и полностью управлял тем моим кодом момент и качество вставки - через временный лист...
 
Ответить
Сообщениея предложил чисто идею - чтобы понять что в буфере, его надо "выплюнуть" на лист, а уж что ты там ищешь конкретно - это нюансы.
я копировал таблицу из браузера и полностью управлял тем моим кодом момент и качество вставки - через временный лист...

Автор - Саня
Дата добавления - 18.05.2013 в 21:33
anvg Дата: Понедельник, 20.05.2013, 06:01 | Сообщение № 19
Группа: Друзья
Ранг: Ветеран
Сообщений: 581
Репутация: 271 ±
Замечаний: 0% ±

2016, 365
По опыту вставки данных ячеек из Excel в Surfer могу сказать, что можно проверять скопированы ли ячейки по
наличию одного из кодов для xlClipboardFormatBIFF,
+xlClipboardFormatSYLK
+xlClipboardFormatCSV
+xlClipboardFormatText
 
Ответить
СообщениеПо опыту вставки данных ячеек из Excel в Surfer могу сказать, что можно проверять скопированы ли ячейки по
наличию одного из кодов для xlClipboardFormatBIFF,
+xlClipboardFormatSYLK
+xlClipboardFormatCSV
+xlClipboardFormatText

Автор - anvg
Дата добавления - 20.05.2013 в 06:01
Саня Дата: Понедельник, 20.05.2013, 10:08 | Сообщение № 20
Группа: Друзья
Ранг: Ветеран
Сообщений: 1068
Репутация: 560 ±
Замечаний: 0% ±

XL 2016
прога по работе с буфером обмена,
с помощью которой можно увидеть содержимое буфера
 
Ответить
Сообщениепрога по работе с буфером обмена,
с помощью которой можно увидеть содержимое буфера

Автор - Саня
Дата добавления - 20.05.2013 в 10:08
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!