Сумма прописью для VB6 и VBA

Библиотека ActiveX DLL, может использоваться где угодно. Лишь бы поддерживался импорт/использование ActiveX элементов. Скачать: Сумма прописью VB6 (VBA)

                         Преобразование суммы(числа)
              в строку прописью для Office`97,`2000, XP, VB6.0
                    -----===========oooooo===========-----

Параметры: число до 999 трлн., два языка:русский и украинский
                   три денежных единицы: грн., долл., руб.
                   три вида отображения целых и копеек

      Файл: sp.dll

Технология: файл из аpхива пеpеписать в любой каталог. Открыть редактор
VBA в программе Microsoft Office(Word, Excel, Access и др.) через Alt+F11.
Через меню Tools->References вызвать менеджер ссылок. Нажать кнопку Browse
и найти ваш каталог с файлом sp.dll. Пометить галочкой выбранный файл.
Аналогично можно сделать ссылку на библиотеку через редактор VB 6.0 - только
пункт меню другой : Project->References

Пример использования библиотеки в VB или VBA

Dim S_P As New SP2000

Sub main()
MsgBox (S_P.SUMPROP(1000, 1, 1, 1))
End Sub

Допустимые параметры. Пример: 

1-й - число до 999 трлн
2-й - 0 - русский, 1 - українська
3-й - 0 - рубль, 1 - гривня, 2 - доллар
4-й - 0 - (10 коп.), 1 - (10 копеек), 2 - (десять копеек)

 

Для использования в Delphi 7 нужно импортировать библиотеку в проект через — Project -> Import type library.
После этого нужно откорректировать файл sp_TLB.pas в папке Imports (там где установлен Delphi).
При импорте параметры функции переименовываются в подчеркивания:

// Errors:
// Hint: Parameter 'число' of _SP2000.SUMPROP changed to '______'
// Hint: Parameter 'вид' of _SP2000.SUMPROP changed to '____'
// Hint: Parameter 'деньги' of _SP2000.SUMPROP changed to '_______'
// Hint: Parameter 'полно' of _SP2000.SUMPROP changed to '________'

Замените параметры по всему тексту модуля следующим образом:

function SUMPROP(var chislo: OleVariant; var vid: OleVariant; var dengi: OleVariant; var polno: OleVariant): OleVariant; safecall;

Пример использования в Delphi 7:

unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, sp_TLB;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    s_p: TSP2000;
    function summa_pr(chislo:OleVariant;vid:OleVariant;dengi:OleVariant;polno:OleVariant):string;
    { Public declarations }
  end;

var
  Form1: TForm1;
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
  summa: Variant;
begin
   ShowMessage(summa_pr(560245.33,1,0,0));
end;

function TForm1.summa_pr(chislo:OleVariant;vid:OleVariant;dengi:OleVariant;polno:OleVariant):string;
begin
   s_p:=TSP2000.Create(self);
   Result:=s_p.SUMPROP(chislo,vid,dengi,polno);
end;

end.

Добавить комментарий