線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:3895
推到 Plurk!
推到 Facebook!

當程式開啟office(word,excel,pdf)時,如何讓使用者僅能看,而不能另存新檔,以防止使用者將檔案移作它用

尚未結案
emperor2906
一般會員


發表:1
回覆:1
積分:0
註冊:2009-11-10

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-11-10 13:23:49 IP:122.146.xxx.xxx 訂閱
各位大大:
我使用ShellExecute(Application.Handle,'open',PChar(filename),nil,nil,SW_SHOW);開啟office檔案
如何讓使用者僅能看內容,而不能另存新檔,以防止使用者將檔案複製帶出公司,移作它用,
是否有方法能讓office的另存新檔與列印功能disable
------
emperor
老大仔
尊榮會員


發表:77
回覆:835
積分:1082
註冊:2006-07-06

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-11-10 15:35:43 IP:59.120.xxx.xxx 未訂閱
基本上..."應該"是沒辦法的
請見以下:
http://delphi.ktop.com.tw/board.php?cid=30&fid=71&tid=96577
(也或許是小弟比較不熟...可能站上還是有前輩可以解決它的吧...)

不過~提供個比較爛的方法
就是用OleContainer載入Office後
在最上層用個透明的panel之類的東西覆蓋它
這樣一來使用者就改不到他了

爛方法...供參考~
emperor2906
一般會員


發表:1
回覆:1
積分:0
註冊:2009-11-10

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-11-10 16:56:32 IP:122.146.xxx.xxx 訂閱
我也用了OleContainer1.CreateObjectFromFile(FileName, false)這方法試了開啟excel檔案後,但於畫面上確可按滑鼠右鍵,
顯示"編輯"與"開啟舊檔",在選擇"開啟舊檔"後,就會開啟office了,程式即控制不了這檔案的編輯了.

謝謝老大仔的回覆

------
emperor
P.D.
版主


發表:571
回覆:3880
積分:3666
註冊:2006-10-31

發送簡訊給我
#4 引用回覆 回覆 發表時間:2009-11-20 11:37:31 IP:118.169.xxx.xxx 未訂閱
答案應該是很明顯了, 只是我想強調以下這點:
"以防止使用者將檔案複製帶出公司,移作它用,"
複製出來的方式只有 saveas 一種嗎?

===================引 用 emperor2906 文 章===================
各位大大:
我使用ShellExecute(Application.Handle,'open',PChar(filename),nil,nil,SW_SHOW);開啟office檔案
如何讓使用者僅能看內容,而不能另存新檔,以防止使用者將檔案複製帶出公司,移作它用,
是否有方法能讓office的另存新檔與列印功能disable
max5020
資深會員


發表:26
回覆:274
積分:320
註冊:2003-06-04

發送簡訊給我
#5 引用回覆 回覆 發表時間:2009-12-03 12:23:17 IP:122.146.xxx.xxx 訂閱
如果, 先放一個TWebBrowser,
可以Show Word, Excel, PDF的內容嗎?
我沒試過, 試看看囉!!
系統時間:2017-10-20 7:41:48
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!