T ttt22703 Unregistered / Unconfirmed GUEST, unregistred user! 2005-10-29 #1 不知道各位有没有做过excel修订,跟踪痕迹的功能,word已经实现,但是用excel的宏录制功能确录制不到低码.请做过的朋友帮忙或提供一些代码,谢谢
T ttt22703 Unregistered / Unconfirmed GUEST, unregistred user! 2005-10-29 #2 不知道各位有没有做过excel修订,跟踪痕迹的功能,word已经实现,但是用excel的宏录制功能确录制不到低码.请做过的朋友帮忙或提供一些代码,谢谢
V vvyang Unregistered / Unconfirmed GUEST, unregistred user! 2005-10-29 #3 1、能够显示修订的工作薄是有条件的,它必须能够共享,那种用鼠标右键直接创建的文件是不行的。 2、首先启动 Excel,创建一个新工作薄(手动/程序),保存。这个保存下来的空文档就具有了保存日后修订的功能。 3、在需要的时候用程序打开该文档,运行下列代码,就可以显示在其之前的所有修订了。 const xlShared = $00000002; xlAllChanges = $00000002; begin XlsApp.Workbooks.Open('D:/Book1.xls'); XlsApp.ActiveWorkbook.KeepChangeHistory := True; XlsApp.ActiveWorkbook.SaveAs('D:/Book1.xls', xlShared); XlsApp.ActiveWorkbook.HighlightChangesOptions(xlAllChanges); XlsApp.ActiveWorkbook.ListChangesOnNewSheet := False; XlsApp.ActiveWorkbook.HighlightChangesOnScreen := True; end;
1、能够显示修订的工作薄是有条件的,它必须能够共享,那种用鼠标右键直接创建的文件是不行的。 2、首先启动 Excel,创建一个新工作薄(手动/程序),保存。这个保存下来的空文档就具有了保存日后修订的功能。 3、在需要的时候用程序打开该文档,运行下列代码,就可以显示在其之前的所有修订了。 const xlShared = $00000002; xlAllChanges = $00000002; begin XlsApp.Workbooks.Open('D:/Book1.xls'); XlsApp.ActiveWorkbook.KeepChangeHistory := True; XlsApp.ActiveWorkbook.SaveAs('D:/Book1.xls', xlShared); XlsApp.ActiveWorkbook.HighlightChangesOptions(xlAllChanges); XlsApp.ActiveWorkbook.ListChangesOnNewSheet := False; XlsApp.ActiveWorkbook.HighlightChangesOnScreen := True; end;
T ttt22703 Unregistered / Unconfirmed GUEST, unregistred user! 2005-10-29 #4 谢谢vvyang的回答 但在这句出现了问题 XlsApp.ActiveWorkbook.HighlightChangesOptions(xlAllChanges); 错误提示是ole error 800A03EC 这时这句话提示为 excel.ActiveWorkbook.HighlightChangesOptions=inaccessible value 不知道为什么
谢谢vvyang的回答 但在这句出现了问题 XlsApp.ActiveWorkbook.HighlightChangesOptions(xlAllChanges); 错误提示是ole error 800A03EC 这时这句话提示为 excel.ActiveWorkbook.HighlightChangesOptions=inaccessible value 不知道为什么
V vvyang Unregistered / Unconfirmed GUEST, unregistred user! 2005-10-29 #5 不好意思,有些细节没写到: 1、启动 Excel,新建一个工作薄。依次点击 [工具]->[共享工作薄],在弹出的对话框中选中“允许多用户同时编辑”,它会提示让你保存,保存后的工作薄标题也多了“[共享]”两个字。要的就是这个 Excel 文档。 2、在需要的时候用程序打开该文档,运行下列代码,就可以显示在其之前的所有修订了。 uses ComObj; procedure TrackRevisions(const FileName: string); const xlShared = $00000002; xlAllChanges = $00000002; var XlsApp: OleVariant; begin XlsApp := CreateOleObject('Excel.Application'); try XlsApp.Workbooks.Open(fn); XlsApp.ActiveWorkbook.KeepChangeHistory := True; XlsApp.ActiveWorkbook.HighlightChangesOptions(xlAllChanges); XlsApp.ActiveWorkbook.ListChangesOnNewSheet := False; XlsApp.ActiveWorkbook.HighlightChangesOnScreen := True; XlsApp.Visible := True; except XlsApp.Quit; end; XlsApp := Unassigned; end;
不好意思,有些细节没写到: 1、启动 Excel,新建一个工作薄。依次点击 [工具]->[共享工作薄],在弹出的对话框中选中“允许多用户同时编辑”,它会提示让你保存,保存后的工作薄标题也多了“[共享]”两个字。要的就是这个 Excel 文档。 2、在需要的时候用程序打开该文档,运行下列代码,就可以显示在其之前的所有修订了。 uses ComObj; procedure TrackRevisions(const FileName: string); const xlShared = $00000002; xlAllChanges = $00000002; var XlsApp: OleVariant; begin XlsApp := CreateOleObject('Excel.Application'); try XlsApp.Workbooks.Open(fn); XlsApp.ActiveWorkbook.KeepChangeHistory := True; XlsApp.ActiveWorkbook.HighlightChangesOptions(xlAllChanges); XlsApp.ActiveWorkbook.ListChangesOnNewSheet := False; XlsApp.ActiveWorkbook.HighlightChangesOnScreen := True; XlsApp.Visible := True; except XlsApp.Quit; end; XlsApp := Unassigned; end;