Страница 1 из 1

Office Templates Не работает Вставка

Добавлено: 30 Сентябрь 2017, 19:55
Nicrus
Кто знает почему тут все работает, кроме Paste()? Я уже и так и всяк пробовал. Нажимаешь Ctrl+V - все ОК.

SETCLIPBOARD('Test') ! Copy text into the windows clipboard
MSExcel1.Select('C1') ! Select cell
MSExcel1.Paste() ! Copy the windows clipboard contents into the selected cell

За ранее благодарен за ответы

Office Templates Не работает Вставка

Добавлено: 01 Октябрь 2017, 10:01
Ал
привет. стесняюсь, но спрошу - ось/версия клаши/какие именно темплейты - версия/пример вашего проблемного кода - желательно не обрывок/доку по Office Templates смотрели?

ps - ответа пока не увидел, поэтому, если речь шла про Office Templates v2.0 от SoftMasters Team и не работает paste, то можно поступить так - читаем в доке FAQ по Excel - "Can I use any function available in Microsoft Excel inside my Clarion application? Yes. Just call any of the ExecFunction methods, followed by a call to one of the Read methods to retrieve the results."
и применяем как-то так:

Код: Выделить всё

 !вставка - типа Paste
 SETCLIPBOARD('Test') ! Copy text into the windows clipboard
 MSExcel1.Select('C1') ! Select cell
 MSExcel1.ExecFunction(CLIPBOARD()) ! Copy the windows clipboard contents into the selected cell
 !SETCLIPBOARD('') 

Office Templates Не работает Вставка

Добавлено: 01 Октябрь 2017, 11:59
RaFaeL
Начиная с версии 2007 в офисе несколько своих клипбордов, вы включите запись макроса и посмотрите, что там на вставку делается, скорее всего нужен какой-то другой код VBA, отличный от того, что в шаблоне

Office Templates Не работает Вставка

Добавлено: 01 Октябрь 2017, 12:42
Nicrus
Код с Хелпа Office Templates, это их пример использование. Клара 6.3 Офис 2003, Винда ХП, Office Templates v2.1. SETCLIPBOARD('Test') работает на ура, после выполнение нажимаю Ctrl+V и появляется Test.

Office Templates Не работает Вставка

Добавлено: 01 Октябрь 2017, 12:45
Ал
Nicrus писал(а): 01 Октябрь 2017, 12:42 Код с Хелпа Office Templates, это их пример использование. Клара 6.3 Офис 2003, Винда ХП, Office Templates v2.1. SETCLIPBOARD('Test') работает на ура, после выполнение нажимаю Ctrl+V и появляется Test.
спасибо, понятно. приведенный мной выше "MSExcel1.ExecFunction(CLIPBOARD())" сработал?
поищите в abexcel.clw 'paste', у меня так:

Код: Выделить всё

...
!==============================================================================
MSExcelClass.ExecFunction         PROCEDURE(STRING Contents)
  CODE
    SETCLIPBOARD(Contents)
    SELF.SendCommand('ActiveSheet.Paste')
    SETCLIPBOARD('')
...
:D, при этом самом в ...inc/clw этого paste для excel нет?, а для office есть? я имею ввиду в виде .Paste()

Office Templates Не работает Вставка

Добавлено: 01 Октябрь 2017, 13:00
Nicrus
Ал, Спасибо!! Этот метод сработал. Буду и дальше копать ))))

Office Templates Не работает Вставка

Добавлено: 01 Октябрь 2017, 13:04
Nicrus
Ал писал(а): 01 Октябрь 2017, 12:45
Nicrus писал(а): 01 Октябрь 2017, 12:42 Код с Хелпа Office Templates, это их пример использование. Клара 6.3 Офис 2003, Винда ХП, Office Templates v2.1. SETCLIPBOARD('Test') работает на ура, после выполнение нажимаю Ctrl+V и появляется Test.
спасибо, понятно. приведенный мной выше "MSExcel1.ExecFunction(CLIPBOARD())" сработал?
поищите в abexcel.clw 'paste', у меня так:

Код: Выделить всё

...
!==============================================================================
MSExcelClass.ExecFunction         PROCEDURE(STRING Contents)
  CODE
    SETCLIPBOARD(Contents)
    SELF.SendCommand('ActiveSheet.Paste')
    SETCLIPBOARD('')
...
:D
Точ в точ так и у меня

Office Templates Не работает Вставка

Добавлено: 01 Октябрь 2017, 13:07
Ал
:D, при этом самом в ...inc/clw этого paste для excel нет?, а для office есть? я имею ввиду в виде отдельной процедуры для .Paste()

Office Templates Не работает Вставка

Добавлено: 01 Октябрь 2017, 14:28
Ал
Ал писал(а): 01 Октябрь 2017, 13:07 :D, при этом самом в ...inc/clw этого paste для excel нет?, а для office есть? я имею ввиду в виде отдельной процедуры для .Paste()
т.е. я намекаю на то, что для того чтоб "взлетело" как у них в примере

Код: Выделить всё

Кто знает почему тут все работает, кроме Paste()? 
SETCLIPBOARD('Test') ! Copy text into the windows clipboard
MSExcel1.Select('C1') ! Select cell
MSExcel1.Paste() ! Copy the windows clipboard contents into the selected cell
надо добавить строчку в abexcel.inc:

Код: Выделить всё

Paste            PROCEDURE(),VIRTUAL
и несколько строчек в abexcel.clw:

Код: Выделить всё

!==============================================================================
MSExcelClass.Paste                 PROCEDURE()
    CODE
    SELF.Select('ActiveCell.Value')
    SELF.SendCommand('ActiveSheet.Paste')
    !SETCLIPBOARD('') !тут по "вкусу", если надо оставлять в клипборде, то не чистим, если надо очищать - надо очистить

Office Templates Не работает Вставка

Добавлено: 01 Октябрь 2017, 15:44
Nicrus
Ал писал(а): 01 Октябрь 2017, 14:28Paste PROCEDURE(),VIRTUAL
БОЛЬШУЧИЕ СПАСИБО. ТЫ ПРОСТО ГЕНИЙ :cat: :cat: :cat: :cat: :cat: :idied: :idied: :idied: :idied: :idied: :P :P :P :lol: :lol: :lol: :lol: :mrgreen:

Office Templates Не работает Вставка

Добавлено: 01 Октябрь 2017, 16:18
Ал
:oops: , да я просто пожилой :mrgreen:

Office Templates Не работает Вставка

Добавлено: 09 Октябрь 2017, 0:53
Nicrus
Еще 1 вопрос, если можно. Как получить код цвета ячейки экселя? Всю голову сломал, искал в инете решение, не получается (

Office Templates Не работает Вставка

Добавлено: 09 Октябрь 2017, 2:11
Admin

Экспорт в Microsoft Excel (много)

Добавлено: 09 Октябрь 2017, 3:26
Nicrus
2 - 0 Спасибо! Я пользовался .Interior.ColorIndex без ActiveCell, вот и ошибка!!!!!! :cat: :) :lol: :o :shock:

Office Templates Не работает Вставка

Добавлено: 09 Октябрь 2017, 8:35
Admin
Я так понял пост ошибочно не в ту тему кинули? Перенес.