FAQ VCL
Работа с MS Office\Word

:: Меню ::
:: На главную ::
:: FAQ ::
:: Заметки ::
:: Практика ::
:: Win API ::
:: Проекты ::
:: Скачать ::
:: Секреты ::
:: Ссылки ::

:: Сервис ::
:: Написать ::

:: MVP ::

:: RSS ::

Яндекс.Метрика

Как вывести в StatusBar свое сообщение?

var
  E: OleVariant;

procedure TForm1.Button1Click(Sender: TObject);
begin
   E.StatusBar := 'Мое сообщение';
   E.StatusBar := False; // уберем наше сообщение
end;


Как включить/отключить автоматическую калькуляцию формул?

{uses
  ..., Excel_TLB;}

// Constants for enum Constants
type
  Constants = TOleEnum;
const
  xlAll = $FFFFEFF8;
  xlAutomatic = $FFFFEFF7;
  xlBoth = $00000001;
  xlCenter = $FFFFEFF4;
  xlChecker = $00000009;
  xlCircle = $00000008;
  xlCorner = $00000002;
  xlCrissCross = $00000010;
  xlCross = $00000004;
  xlDiamond = $00000002;
  xlDistributed = $FFFFEFEB;
  xlDoubleAccounting = $00000005;
  xlFixedValue = $00000001;
  xlFormats = $FFFFEFE6;
  xlGray16 = $00000011;
  xlGray8 = $00000012;
  xlGrid = $0000000F;
  xlHigh = $FFFFEFE1;
  xlInside = $00000002;
  xlJustify = $FFFFEFDE;
  xlLightDown = $0000000D;
  xlLightHorizontal = $0000000B;
  xlLightUp = $0000000E;
  xlLightVertical = $0000000C;
  xlLow = $FFFFEFDA;
  xlManual = $FFFFEFD9;
  xlMinusValues = $00000003;
  xlModule = $FFFFEFD3;
  xlNextToAxis = $00000004;
  xlNone = $FFFFEFD2;
  xlNotes = $FFFFEFD0;
  xlOff = $FFFFEFCE;
  xlOn = $00000001;
  xlPercent = $00000002;
  xlPlus = $00000009;
  xlPlusValues = $00000002;
  xlSemiGray75 = $0000000A;
  xlShowLabel = $00000004;
  xlShowLabelAndPercent = $00000005;
  xlShowPercent = $00000003;
  xlShowValue = $00000002;
  xlSimple = $FFFFEFC6;
  xlSingle = $00000002;
  xlSingleAccounting = $00000004;
  xlSolid = $00000001;
  xlSquare = $00000001;
  xlStar = $00000005;
  xlStError = $00000004;
  xlToolbarButton = $00000002;
  xlTriangle = $00000003;
  xlGray25 = $FFFFEFE4;
  xlGray50 = $FFFFEFE3;
  xlGray75 = $FFFFEFE2;
  xlBottom = $FFFFEFF5;
  xlLeft = $FFFFEFDD;
  xlRight = $FFFFEFC8;
  xlTop = $FFFFEFC0;
  xl3DBar = $FFFFEFFD;
  xl3DSurface = $FFFFEFF9;
  xlBar = $00000002;
  xlColumn = $00000003;
  xlCombination = $FFFFEFF1;
  xlCustom = $FFFFEFEE;
  xlDefaultAutoFormat = $FFFFFFFF;
  xlMaximum = $00000002;
  xlMinimum = $00000004;
  xlOpaque = $00000003;
  xlTransparent = $00000002;
  xlBidi = $FFFFEC78;
  xlLatin = $FFFFEC77;
  xlContext = $FFFFEC76;
  xlLTR = $FFFFEC75;
  xlRTL = $FFFFEC74;
  xlFullScript = $00000001;
  xlPartialScript = $00000002;
  xlMixedScript = $00000003;
  xlMixedAuthorizedScript = $00000004;
  xlVisualCursor = $00000002;
  xlLogicalCursor = $00000001;
  xlSystem = $00000001;
  xlPartial = $00000003;
  xlHindiNumerals = $00000003;
  xlBidiCalendar = $00000003;
  xlGregorian = $00000002;
  xlComplete = $00000004;
  xlScale = $00000003;
  xlClosed = $00000003;
  xlColor1 = $00000007;
  xlColor2 = $00000008;
  xlColor3 = $00000009;
  xlConstants = $00000002;
  xlContents = $00000002;
  xlBelow = $00000001;
  xlCascade = $00000007;
  xlCenterAcrossSelection = $00000007;
  xlChart4 = $00000002;
  xlChartSeries = $00000011;
  xlChartShort = $00000006;
  xlChartTitles = $00000012;
  xlClassic1 = $00000001;
  xlClassic2 = $00000002;
  xlClassic3 = $00000003;
  xl3DEffects1 = $0000000D;
  xl3DEffects2 = $0000000E;
  xlAbove = $00000000;
  xlAccounting1 = $00000004;
  xlAccounting2 = $00000005;
  xlAccounting3 = $00000006;
  xlAccounting4 = $00000011;
  xlAdd = $00000002;
  xlDebugCodePane = $0000000D;
  xlDesktop = $00000009;
  xlDirect = $00000001;
  xlDivide = $00000005;
  xlDoubleClosed = $00000005;
  xlDoubleOpen = $00000004;
  xlDoubleQuote = $00000001;
  xlEntireChart = $00000014;
  xlExcelMenus = $00000001;
  xlExtended = $00000003;
  xlFill = $00000005;
  xlFirst = $00000000;
  xlFloating = $00000005;
  xlFormula = $00000005;
  xlGeneral = $00000001;
  xlGridline = $00000016;
  xlIcons = $00000001;
  xlImmediatePane = $0000000C;
  xlInteger = $00000002;
  xlLast = $00000001;
  xlLastCell = $0000000B;
  xlList1 = $0000000A;
  xlList2 = $0000000B;
  xlList3 = $0000000C;
  xlLocalFormat1 = $0000000F;
  xlLocalFormat2 = $00000010;
  xlLong = $00000003;
  xlLotusHelp = $00000002;
  xlMacrosheetCell = $00000007;
  xlMixed = $00000002;
  xlMultiply = $00000004;
  xlNarrow = $00000001;
  xlNoDocuments = $00000003;
  xlOpen = $00000002;
  xlOutside = $00000003;
  xlReference = $00000004;
  xlSemiautomatic = $00000002;
  xlShort = $00000001;
  xlSingleQuote = $00000002;
  xlStrict = $00000002;
  xlSubtract = $00000003;
  xlTextBox = $00000010;
  xlTiled = $00000001;
  xlTitleBar = $00000008;
  xlToolbar = $00000001;
  xlVisible = $0000000C;
  xlWatchPane = $0000000B;
  xlWide = $00000003;
  xlWorkbookTab = $00000006;
  xlWorksheet4 = $00000001;
  xlWorksheetCell = $00000003;
  xlWorksheetShort = $00000005;
  xlAllExceptBorders = $00000007;
  xlLeftToRight = $00000002;
  xlTopToBottom = $00000001;
  xlVeryHidden = $00000002;
  xlDrawingObject = $0000000E;

var
  E: OleVariant;

procedure TForm1.Button1Click(Sender: TObject);
begin
   // отключить автоматическую калькуляцию формул
   E.Calculation := SmallInt(xlManual);    // -4135;
   // включить автоматическую калькуляцию формул
   E.Calculation := SmallInt(xlAutomatic); // -4105;
end;


Как изменить стиль отображения ссылок в Excel?

// Стиль ссылок в Excel по умолчанию - A1, т.е. столбцы обозначаются буквами,
// а строки цифрами. При использовании такого стиля в формулах указываются
// абсолютные адреса ячеек (=A1+B2). Другой вариант стиля - R1C1 (что означает
// R – Row, т.е. строка, и C – Column, т.е. столбец). В этом случае и столбцы
// и строки обозначены только цифрами, а адреса ячеек в формулах должны быть
// относительными (=R[-3]C[-4]+R[-2]C[-3]).

// Constants for enum XlReferenceStyle
type
  XlReferenceStyle = TOleEnum;
const
  xlA1 = $00000001;
  xlR1C1 = $FFFFEFCA;

var
  E: OleVariant;

procedure TForm1.Button1Click(Sender: TObject);
begin
   // Стиль R1C1
   E.Application.ReferenceStyle := SmallInt(xlR1C1);
   // Стиль A1
   E.Application.ReferenceStyle := SmallInt(xlA1);
end;


Как запретить/разрешить пользователю работать с нашим экземпляром Excel?

var
  E: OleVariant;

запретить пользователю работать с нашим экземпляром Excel'я
procedure TForm1.Button1Click(Sender: TObject);
begin
   E.Interactive := False;
end;

// разрешить пользователю работать с нашим экземпляром Excel'я
procedure TForm1.Button2Click(Sender: TObject);
begin
   E.Interactive := True;
end;


Как показать диалоговое окно InputBox?

var
  E: OleVariant;

procedure TForm1.Button1Click(Sender: TObject);
begin
   E.InputBox(Prompt := 'Запрос', Title := 'Заголовок');
end;


Как узнать версию операционной системы?

var
  E: OleVariant;
  
procedure TForm1.Button1Click(Sender: TObject);
begin
   ShowMessage(E.OperatingSystem);
end;


Как получить имя организации?

var
  E: OleVariant;
  
procedure TForm1.Button1Click(Sender: TObject);
begin
   ShowMessage(E.OrganizationName);
end;


Как получить имя пользователя?

var
  E: OleVariant;
  
procedure TForm1.Button1Click(Sender: TObject);
begin
   ShowMessage(E.UserName);
end;


Как разрешить/запретить масштабирование при помощи скрола мыши?

var
  E: OleVariant;
  
procedure TForm1.Button1Click(Sender: TObject);
begin
   E.RollZoom := True;  // Запретить zoom
   E.RollZoom := False; // Разрешить zoom
end;


Как скрыть/показать панель редактирования формул?

var
  E: OleVariant;

procedure TForm1.Button1Click(Sender: TObject);
begin
   E.DisplayFormulaBar := False; // Скрыть
   E.DisplayFormulaBar := True;  // Показать
end;

При использовании материала - ссылка на сайт обязательна