mojaSymfonia FORUM
https://forum.mix-soft.pl/

Symfonia + Excel
https://forum.mix-soft.pl/viewtopic.php?f=15&t=3018
Strona 1 z 1

Autor:  Mateo [ 2011-04-06, 13:00 ]
Tytuł:  Symfonia + Excel

Witam
Podłączam się do Excela (z Handlu Premium, ale to chyba nie ma w tym kontekście znaczenia) w następujący sposób:
Kod:
Dispatch excel
excel.Create("excel.Application")
Dispatch wb = excel.Workbooks.add
Dispatch ws = wb.Worksheets("Arkusz1")

Poszukałem sobie, że wyrównanie komórek zrealizować można tak (do lewej i do prawej):
Kod:
ws.Range("A1:G20").HorizontalAlignment = -4131
ws.Range("A1:G20").HorizontalAlignment = -4152

Moje pytanie czy można to zrobić "ładniej"?
Znalazłem w Excelu enumerator z wartościami:
Excel.Constants.xlLeft i Excel.Constants.xlRight,
ale w żaden sposób nie mogę się do tego dobrać z Ambasica..
Proszę o pomoc :)

Autor:  wrob [ 2011-04-06, 17:06 ]
Tytuł: 

poczytaj sobie help z excela do VBA - to co tam jest - dokladnie tego mozesz uzyc i w ambasicu - i raczej niewiele wiecej :)

Autor:  Misiek [ 2011-04-06, 21:19 ]
Tytuł: 

A może tak - rejestrujesz sobie MACRO w Excelu, jest taka opcja standardowo i wykonujesz operacje, którą chcesz uzyskać. Następnie wchodzisz w Edycję zarejestrowanego MACRO i szukać interesującej Ciebie linijki - przepisujesz/przyklejasz do AmBasica - GOTOWE :-)

Autor:  Mateo [ 2011-04-06, 22:48 ]
Tytuł: 

Misiek, no właśnie nie bardzo..
Taką metodę stosuję i w taki sposób wymyśliłem to co opisałem, natomiast w VBA makro wstawia od razu kod:
Kod:
ws.Range("A1:G20").HorizontalAlignment = xlLeft

xlLeft-a jak wiemy w Ambasic-u nie uświadczymy, bo to enumerator wprost z VBA,
znalazłem w dokumentacji VBA, że mieści się on tutaj: Excel.Constants.xlLeft, ale każde odwołanie jakie próbuję robić do tego w Ambasicu (z poziomu opisanych powyżej zmiennych excel, wb, ws) zwraca mi tylko, że nie ma takiej klasy/własności i stąd właśnie moje pierwsze pytanie: jak dobrać się do tego z Ambasica?

Autor:  Misiek [ 2011-04-06, 23:28 ]
Tytuł: 

Hmm - a coś takiego

Kod:
    Range("A1:G20").Select
    With Selection
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlCenter
    End With


?

Autor:  wrob [ 2011-04-07, 00:04 ]
Tytuł: 

XlLeft i inne - to tak naprawde stałe zwykłe liczby - ktore zna google

wiec albo sobie definiujesz te stale w ambasicu na poczatku

xlcontext -5002
xlbottom -4107
xlleft -4131
xlright -4152
xlcenter -4108
xlautomatic -4105

etc

albo uzywasz liczb - i nie doktoryzujesz się :-)

Autor:  Misiek [ 2011-04-07, 00:35 ]
Tytuł: 

:-) - no i wrob rozwiał wszelkie wątpliwości :-) - google prawdę Ci powie :-D

Strona 1 z 1 Strefa czasowa UTC+1godz. [letni]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/