У меня есть приложение, написанное на Powerbuilder 11.5, которое автоматически заполняет поля формы документа Word (MS Word 2003).
Документ Word защищен, поэтому можно изменять только поля формы.
В приведенном ниже коде вы видите, что я использую char(10) + char(13)
для вставки новой строки, однако в сохраненном документе все, что я вижу, это 2 маленьких квадрата, где должны быть символы.Я также пытался использовать "~r~n"
, это также просто печатает 2 квадрата.
Когда я заполняю форму вручную, я могу вставлять новые строки столько раз, сколько захочу.Я могу попробовать?Или кто-нибудь знает другой способ заполнения словарных форм с помощью Powerbuilder?
//1 Shipper
ls_value = ids_form_info.object.shipper_name[1]
if not isnull(ids_form_info.object.shipper_address2[1]) then
ls_value += char(10) + char(13) + ids_form_info.object.shipper_address2[1]
end if
if not isnull(ids_form_info.object.shipper_address4[1]) then
ls_value += char(10) + char(13) + ids_form_info.object.shipper_address4[1]
end if
if not isnull(ids_form_info.object.shipper_country[1]) then
ls_value += char(10) + char(13) + ids_form_info.object.shipper_country[1]
end if
if lnv_word.f_inserttextatbookmark( 'shipper', ls_value ) = -1 then return -1
f_inserttextatbookmark выглядит следующим образом:
public function integer f_inserttextatbookmark (string as_bookmark, string as_text, string as_fontname, integer ai_fontsize);
if isnull(as_text) then return 0
iole_word = create OLEOBJECT
iole_word.connectToNewobject( "word.application" )
iole_word.Documents.open( <string to word doc> )
iole_word.ActiveDocument.FormFields.Item(as_bookmark).Result = as_text
return 1
end function