2013-04-25 2 views
1

Я пишу код matlab, который после расчета печатает отчет в формате pdf. Я использую actxserver для связи с Microsoft Word. Пользователь вводит имя файла окончательного отчета и сохраняет его в предопределенной папке.Пользовательский ввод в Matlab

Я использую,

имя = вход ('Пожалуйста, введите имя файла', 'S');

WordFileName=name; 
FileSpec = fullfile(pwd,WordFileName); 
[ActXWord,WordHandle]=StartWord(FileSpec); 

function [actx_word,word_handle]=StartWord(word_file_p) 

    actx_word = actxserver('Word.Application'); 
    word_handle = invoke(actx_word.Documents,'Add'); 

end 

function CloseWord(actx_word_p,word_handle_p,word_file_p) 
word_handle_p.ExportAsFixedFormat(word_file_p,17); 
end 

Когда пользователь вводит: доклад, PDF получает генерируется Report.pdf

но когда имя файла имеет еще символы, такие как, например, «1.2MFQ», файл будет сгенерирована с именем файла «1.2MFQ 'и filetype' 2MFQ 'без расширения PDF.

Это из-за ввода в matlab или во время печати в формате pdf?

ответ

0

Я думаю, что это слово делает это, а не Matlab. Почему бы не просто добавить .pdf в имя файла строки в начале:

FileSpec = fullfile(pwd,[WordFileName, ".pdf"]); 
+0

Я думал сделать то же самое, но я чувствовал, когда вы вводите «отчет», как имя файла может выйти, как report.pdf.pdf. но я был не прав .. он отлично работает ... спасибо Dan ... – Mithun

+0

Хорошо проверите его и посмотрите;) – Dan