Кто может переведите код delphi в vba
Код:
procedure TForm1.Button5Click(Sender: TObject);
const
small : String='абвгдеёжзийклмнопрстуфхцчшщъыьюя';
big : String='АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЮЯ';
var
i,j,n,e : Integer;
S,Str : String;
fl : Boolean;
begin
ADOQuery1.Active:= false;
ADOQuery1.SQL.clear;
ADOQuery1.SQL.Add('SELECT [Перечень документов].[Обозначение документа], Коррекция.[Кол л], [Перечень документов].[Наименование документа], Коррекция.Формат');
ADOQuery1.SQL.Add('FROM [Перечень документов], Коррекция');
ADOQuery1.SQL.Add('WHERE [Перечень документов].[Обозначение документа] = Коррекция.[Обозн] and [Перечень документов].[№ сл записки]="'+Edit4.Text+'"');
ADOQuery1.Active:=true;
if ADOQuery1.RecordCount=0 then
messageDlg('Такой служебной записки нет. Повторите ввод еще раз', mtError, [mbOK], 0)
else begin
Edit1.Text:='Записка '+Edit4.Text+', имеет записей: '+IntToStr(ADOQuery1.RecordCount);
Edit2.Text:=Path+'\'+Edit4.Text+'_СТД\';
Memo1.Clear;
Button1.Enabled:=true;
Button2.Enabled:=true;
for i:=1 to ADOQuery1.RecordCount do begin
S:=''; fl:=false;
for j:=1 to length(ADOQuery1.Fields.FieldByNumber(1).AsString) do begin
if not(ADOQuery1.Fields.FieldByNumber(1).AsString[j] in ['0'..'9'])
and not(ADOQuery1.Fields.FieldByNumber(1).AsString[j]='.')
and (j>5) and (fl=false) and
not(ADOQuery1.Fields.FieldByNumber(1).AsString[j-1]=' ') then begin
S:=S+' ';
fl:=true;
end;
S:=S+ADOQuery1.Fields.FieldByNumber(1).AsString[j];
end;
for j:=1 to length(S) do begin
S[j]:=UpCase(S[j]);
n:=pos(S[j],small);
if n>0 then
s[j]:=big[n];
end;
Str:='';
Str:='$'+Str+S;
if ADOQuery1.Fields.FieldByNumber(2).AsInteger>=2 then
Str:=Str+'. л.1-'+ADOQuery1.Fields.FieldByNumber(2).AsString;
Str:=Str+'. '+ADOQuery1.Fields.FieldByNumber(3).AsString+'. ';
if (ADOQuery1.Fields.FieldByNumber(4).AsString='гмд')
or (ADOQuery1.Fields.FieldByNumber(4).AsString='ГМД') then
Str:=Str+'. А4'
else
Str:=Str+ADOQuery1.Fields.FieldByNumber(4).AsString;
ADOQuery1.Next;
Memo1.Lines.Add(Str);
end;
end;
end;