我設置了一個應用程序與OLE框就地編輯。所有的Word文件都適用,但保存Excel不起作用。 Excel應用程序的保存按鈕是灰色的(我猜當非OLE Excel仍處於打開狀態時)或者它沒有變灰,它會顯示「刷新」(德語,但仍然)並且不保存。沒有任何錯誤信息會被顯示。OleFrame無法保存Excel文件
OleControlSite#save(File, boolean)
有效,但我們無法向客戶解釋他們爲什麼不能點擊Excel保存按鈕,所以我們需要以某種方式修復它。
一個小演示,重現該問題:
public class OleDemoDialog extends Dialog {
public static void main(String[] args) {
OleDemoDialog dialog = new OleDemoDialog(new Shell());
dialog.open();
}
protected OleDemoDialog(Shell parentShell) {
super(parentShell);
setShellStyle(getShellStyle()| SWT.SHELL_TRIM);
}
@Override
protected Control createDialogArea(Composite parent) {
OleFrame oleFrame = new OleFrame(parent, SWT.CLIP_CHILDREN);
oleFrame.setBackground(JFaceColors.getBannerBackground(parent
.getDisplay()));
oleFrame.setLayoutData(new GridData(GridData.FILL_BOTH));
OleControlSite oleControlSite = new OleControlSite(oleFrame, SWT.NONE,
new File("Mappe1.xlsx"));
oleControlSite.doVerb(OLE.OLEIVERB_INPLACEACTIVATE);
return oleFrame;
}
@Override
protected Point getInitialSize() {
return new Point(600, 600);
}
}
您是否看到過:http://www.aspose.com/docs/display/slidesnet/Working+with+OLE+Object+Frames? – HellBaby
@HellBaby我現在做了,但是我沒有看到我描述的錯誤。 –