🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.vbasic
2 messages
2 total messages Started by TS Mon, 01 Mar 2010 14:44
[vb6] Kopiowanie komórek w OO bez schowka
#104502
Author: TS
Date: Mon, 01 Mar 2010 14:44
18 lines
2036 bytes
Używam open office do zapisu danych ze swojego programu do excela, czy ktoś 
z Was może mi pomóc, mam procedurkę (poniżej), która kopiuje zaznaczone 
komórki i wkleja je w wierszu niżej. Używam do tego schowka i działa to 
dobrze, jednak chciałbym zrezygnować ze schowka i zrobić to poza nim, jest 
taka procedura jak CopyRange w OO ale nie potrafię jej użyć pomimo wielu 
znalezionych przykładów w makrach Muszę takie rozwiązanie zrobić w VB6 i być 
może tu jest problem...

Set oCells = oSheet.getCellRangeByPosition(0, iRowIndex - 2, iFieldCount - 
1, iRowIndex - 2)
oCalcCtrl.Select (oCells)
Call vDispatcher.executeDispatch(oCalcCtrl, ".uno:Copy", "", 0, vNoArg())
Set oCells = oSheet.getCellByPosition(0, iRowIndex - 1)
oCalcCtrl.Select (oCells)
Call vDispatcher.executeDispatch(oCalcCtrl, ".uno:Paste", "", 0, vNoArg())

pozdr
TS 
Re: [vb6] Kopiowanie komórek w OO bez schowka - ROZWIĄZANIE
#104503
Author: TS
Date: Wed, 03 Mar 2010 07:51
25 lines
2478 bytes
> Używam open office do zapisu danych ze swojego programu do excela, czy 
> ktoś z Was może mi pomóc, mam procedurkę (poniżej), która kopiuje 
> zaznaczone komórki i wkleja je w wierszu niżej. Używam do tego schowka i 
> działa to dobrze, jednak chciałbym zrezygnować ze schowka i zrobić to poza 
> nim, jest taka procedura jak CopyRange w OO ale nie potrafię jej użyć 
> pomimo wielu znalezionych przykładów w makrach Muszę takie rozwiązanie 
> zrobić w VB6 i być może tu jest problem...
>
> Set oCells = oSheet.getCellRangeByPosition(0, iRowIndex - 2, iFieldCount - 
> 1, iRowIndex - 2)
> oCalcCtrl.Select (oCells)
> Call vDispatcher.executeDispatch(oCalcCtrl, ".uno:Copy", "", 0, vNoArg())
> Set oCells = oSheet.getCellByPosition(0, iRowIndex - 1)
> oCalcCtrl.Select (oCells)
> Call vDispatcher.executeDispatch(oCalcCtrl, ".uno:Paste", "", 0, vNoArg())

Znalazłem rozwiązanie, może komuś się przyda... :)

Set tSourceRange = oSheet.getCellRangeByPosition(0, iRowIndex - 2, 
iFieldCount - 1, iRowIndex - 2).RangeAddress
Set tTargetCell = oSheet.getCellByPosition(0, iRowIndex - 1).CellAddress
Call oSheet.copyRange(tTargetCell, tSourceRange)

pozdr
TS 
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads