2019年11月25日 星期一

如何避免 SKYPE 接收相同名稱之案時,舊檔案會被覆寫


如何避免 SKYPE 接收相同名稱之案時,舊檔案會被覆寫

早期 SKYPE 接收相同名稱之檔案時,會自動在檔名後面增加 (1)(2)、、、,但是不知道從哪一個版本之後,這個功能就被取消了,相同名稱之檔案會被自動覆寫,這會造成一些困擾。例如:A傳送了一個叫做「XYZ.TXT」的檔案給BB立即把這個檔案傳送給C。過一會兒後A修改了「XYZ.TXT」的內容,並從SKYPE中移除先前的檔案再重新傳送;此時B並不會發現「XYZ.TXT」檔案的內容已經變更了,所以也不會再重新傳送給C。如此一來,就會發生有二個不同版本的「XYZ.TXT」,AB的檔案內容是修改過的,而C的檔案內容卻是舊的。

要如何避免上述的情形發生?在SKYPE還沒有修正此一情形之前,只能設法讓SKYPE在接收的檔案時,不能是相同名稱。底下將說明該如何設定,才能讓SKYPE無法接收相同檔名的檔案。

這個方法是利用修改資料夾的權限來達成。首先請先設定一個資料夾(在這個範例中,我們設定成D:\SKDN),用來專門接收SKYPE傳送的檔案。然後變更SKYPE的設定,將收到的檔案儲存到該資料夾。



接著我們在D:\SKDN資料夾按滑鼠右鍵內容安全性進階,然後點選『停用繼承』,並選擇『將繼承的權限轉換成此物件中的明確權限』,再點選確定。


接著要變更三個主體的權限,分別是AdministratorsSYSTEMAuthenticated Users。先點選Administrators在點選編輯,然後在基本權限中點選『顯示進階權限』,接著依照底下圖片的內容勾選項目,再點選確定:


SYSTEM主體的權限設定如下:


Authenticated Users主體的權限設定如下:


全部的權限設定完成之後,套用並確定結束資料夾權限的變更。之後這個資料夾只允許新增檔案,不允許變更或刪除檔案。經過以上的設定之後,當A第二次傳送相同檔名的檔案給B時,B會無法接收,只能請A變更檔案名稱後再傳送,如此一來,就可以避免相同檔名會有不同內容的情形發生。

2019年1月11日 星期五

Excel奇進偶捨(四捨六入五成雙)進位的計算方法

最近因為工作的關係,必須在 EXCEL 的表格中使用奇進偶捨的進位方式。從小到大我只知道四捨五入,現在才知道原來四捨六入五成雙在統計上是比四捨五入更加精確。

上網查詢在 EXCEL 中該如何計算此進位法?看到一個網頁有提供一個 VBA 非常簡單好用,在此跟大家分享這個方法。

首先在 EXCEL 工作表按 Alt-F11 二個鍵,此時會出現 VBA 活頁簿,接著在 VBA 活頁簿的上方選單點選「插入」--「模組」,並將底下的文字貼到模組中,然後就可以關閉 VBA 活頁簿

Function BankerRound(rng As Double, sig As Integer) As Double
    BankerRound = Round(rng, sig)
End Function

使用時在儲存格輸入『=BankerRound(值,小數位數)』就可以得到四捨六入五成雙的進位結果了

修正:使用此VBA時,如果BankerRound的括弧裡面是公式,很可能會計算錯誤,所以建議當值是公式時不要使用。改用底下的計算方法:

=IF(AND(ISEVEN(值*10^小數位數),MOD(值*10^小數位數,1)<=0.5),ROUNDDOWN(值,小數位數),ROUND(值,小數位數))

參考資料:
https://stackoverflow.com/questions/44310679/bankers-rounding-function-in-excel