我尝试将选项ScaleToPagesX = 1设置为我的OpenOffice文档(Calc)
如果我没有指定文件名,那么选项ScaleToPagesX是正常设置的!
FServiceManager := CreateOleObject('com.sun.star.ServiceManager');
Desktop := FServiceManager.createInstance('com.sun.star.frame.Desktop');
Document := Desktop.LoadComponentFromURL(private:factory/scalc, '_blank', 0, vArr);
cell := Document.StyleFamilies.getByName('PageStyles').getByName('Default');
cell.ScaleToPagesX := 1;
cell.ScaleToPagesY := 1;但是,当我打开一个文件名为file的文档时,它不起作用!如下所示:
Document := Desktop.LoadComponentFromURL('file:///'+GetCurrentDir()+'/1.xls', '_blank', 0, vArr);
cell:=Document.StyleFamilies.getByName('PageStyles').getByName('Default');
cell.ScaleToPagesX := 1;
cell.ScaleToPagesY := 1;发布于 2020-06-23 23:02:48
尝尝这个。它是有效的,但不是对所有文档都有效-您需要为每个工作表单独执行此操作:
Document := Desktop.LoadComponentFromURL('file:///'+GetCurrentDir()+'/1.xls', '_blank', 0, vArr);
Sheet := Document.Sheets.getByName('Default'); // if 'Default' is the name of your sheet
cell := Document.StyleFamilies.getByName('PageStyles').getByName(Sheet.PageStyle);
cell.ScaleToPagesX := 1;
cell.ScaleToPagesY := 1;https://stackoverflow.com/questions/38591692
复制相似问题