IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Программирование (https://www.imho.ws/forumdisplay.php?f=40)
-   -   Excel. Установка выравнивания в ячейке через OLE (https://www.imho.ws/showthread.php?t=88575)

TRiPLE 04.07.2005 15:24

Excel. Установка выравнивания в ячейке через OLE
 
Есть у меня вот такая строчка в си:
Код:

w.OlePropertyGet("Cells",y,x).OlePropertySet("HorizontalAlignment",
(WideString)"xlLeft");

В ответ получаю: "Project timebase.exe raised exception class EOleSysError with message 'Ошибка'". А очень надо сабж сделать. В хэлпе даже пример есть: Worksheets("Sheet1").Range("A1:A5").HorizontalAlignment = xlLeft. Или это применимо исключительно к объекту Range (хотя, одна ячейка суть тот же Range)? Короче, хэлп! Голову уже сломал.

dyr_farot 05.07.2005 11:36

так к ячейкам обращаться нельзя. делать нужно через Range ( пример у тебя есть )

TRiPLE 07.07.2005 15:24

Ну, во-первых, я так же (через cell) обращался к ним, когда делал шрифт жирным и т.п. А во-вторых, через Range то же самое получается - та же ошибка. Ладно, пойду читать сеть дальше.

SwiMMeR 01.08.2005 08:57

TRiPLE
Попробуй заменить константу на значение

UriF 21.08.2005 07:22

У меня на некоторых компьютерах Excel object model (VBA) вылетал, если обращался к "cell" напрямую, давая координаты (в цифрах), но все работало, если задавал Range в стандартном виде ("A6", "C8" и т.д.)

Проблема решалась на Office 97 после установки Service Release 2, а на Office 2000 после Service Pack1.

Если ничего не помогало, чистил registry (после Uninstall), а после этого ставил сначала 97, а затем 2000 (иногда если ставить напрямую Office 2000 проблема остается). Причем, новая установка производилась в другую directory

content 01.09.2005 17:36

Поди неактуально уже, но xlLeft - это в данном случае константа типа Long, равная -(минус)4131.
Пользуйтесь Записью макроса в excel и его просмотром в отладчике. И будет вам счастье.

SwiMMeR 02.09.2005 03:32

Код:

  XLUP=-4162
  XLTORIGHT=-4161
  XLVALIGNTOP=-4160
  XLTOLEFT=-4159
  XLRIGHT=-4152
  XLHALIGNRIGHT=-4152
  XLNORMAL=-4143
  XLNONE=-4142
  XLUNDERLINESTYLENONE=-4142
  XLLINESTYLENONE=-4142
  XLCOLORINDEXNONE=-4142
  XLMINIMIZED=-4140
  XLMEDIUM=-4138
  XLMAXIMIZED=-4137
  XLLEFT=-4131
  XLHALIGNLEFT=-4131
  XLJUSTIFY=-4130
  XLHALIGNJUSTIFY=-4130
  XLVALIGNJUSTIFY=-4130
  XLDOWN=-4121
  XLDOUBLE=-4119
  XLUNDERLINESTYLEDOUBLE=-4119
  XLDOT=-4118
  XLDISTRIBUTED=-4117
  XLHALIGNDISTRIBUTED=-4117
  XLVALIGNDISTRIBUTED=-4117
  XLDASH=-4115
  XLCENTER=-4108
  XLHALIGNCENTER=-4108
  XLVALIGNCENTER=-4108
  XLVALIGNBOTTOM=-4107
  XLCOLORINDEXAUTOMATIC=-4105
  XLBACKGROUNDAUTOMATIC=-4105
  XLAUTOMATIC=-4105
  XLCONTINUOUS=1
  XLHALIGNGENERAL=1
  XLHAIRLINE=1
  XLTHIN=2
  XLBACKGROUNDTRANSPARENT=2
  XLUNDERLINESTYLESINGLE=2
  XLBACKGROUNDOPAQUE=3
  XLDASHDOT=4
  XLTHICK=4
  XLUNDERLINESTYLESINGLEACCOUNTING=4
  XLUNDERLINESTYLEDOUBLEACCOUNTING=5
  XLDIAGONALDOWN=5
  XLHALIGNFILL=5
  XLDASHDOTDOT=5
  XLDIAGONALUP=6
  XLEDGELEFT=7
  XLHALIGNCENTERACROSSSELECTION=7
  XLEDGETOP=8
  XLEDGEBOTTOM=9
  XLEDGERIGHT=10
  XLINSIDEVERTICAL=11
  XLINSIDEHORIZONTAL=12
  XLSLANTDASHDOT=13


TRiPLE 14.09.2005 17:31

Давненько не заглядывал. Проблема пока отложена, но завтра попробую с числовыми значениями.


Часовой пояс GMT +4, время: 03:24.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.