2017年12月27日 星期三

離線安裝Nuget套件

狀況:
當在僅有內網的環境下,有使用到Nuget的外部程式庫的開發需求。

做法:
1.手動下載Nuget套件













2.新增Visual Studio Nuget套件的來源為本機路徑














3.即可在套件管理員搜尋到存於本機路徑的Nuget套件

2017年12月26日 星期二

列欄轉置語法(PIVOT)

 SELECT "欄位1"
,"欄位2"
,"欄位3"
,"A","B","C","D" /**轉置後的欄位*/
FROM
(
SELECT "欄位1"
,"欄位2"
,"欄位3"
,"條件欄位"
,"要統計的欄位"
FROM "表格名稱"
) AS "SOURCE"
PIVOT
(
SUM("要統計的欄位") /**彙總函式*/
FOR "條件欄位" IN ("A","B","C","D") /**轉置後的欄位,即條件欄位的值*/
) AS "PIVOT_COLUMN"


2017年12月20日 星期三

Android Studio 無法Debug顯示錯誤訊息"Error:Please select Android SDK"

狀況:
按[Debug]按鈕卻顯示組態視窗,並顯示錯誤訊息"Error:Please select Android SDK"


解法:
重新Sync Project即可

2017年12月5日 星期二

只在debug組態下設定變數及執行方法

在程式片段前後加上#if DEBUG#endif















當切換release組態則不會執行該程式片段;
另外視情況可加上#else作為當處於非debug模式(release或自訂組態)的動作。

2017年11月30日 星期四

Android Studio顯示錯誤訊息"Cannot resolve XXX"

狀況:
變數名稱顯示紅色,有錯誤訊息"Cannot resolve XXX"















解法:
1_在功能列>Build>Rebuild Project


2_當解法1無效時,可更動(如輸入空白再刪除等)build.gradle(Project)內容,以觸發Sync功能










3_亦可嘗試清除快取

2017年11月22日 星期三

SSRS無法解析ASP.NET Web Service回傳結果

場景:
1_使用ASP.NET建立Web Service,回傳結果格式為DataSet。















2_欲使用SSRS將回傳結果當成Data Source以利重用,卻發現結果不是我們要的。










3_建立自訂類別取代DataSet如下,將屬性為基本類型並設為公開:











4_SSRS可正確解析。

2017年11月13日 星期一

把"文件"釘選到Windows 10的[開始]畫面

一般狀況只能將"程式"釘選到[開始]畫面,
但只要依照幾個步驟亦能釘選"文件"。

1_建立捷徑。
















2_將捷徑移到
C:\Users\<帳號>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs
路徑下。
















3_捷徑會出現在程式集中,按右鍵即可加到[開始]畫面。






















參考來源:win 10 如何把檔案的捷徑拉到開始功能表的上面呢?

2017年11月6日 星期一

檢查XLL版本一直是舊版

狀況
使用FileVersionInfo類別的GetVersionInfo方法,
所得的FileVersion屬性一直是修改前的舊值(1.0.4)而不會更新(1.0.10)。








1_專案屬性>應用程式>組件資訊>檔案版本確實是1.0.10。






















2_<專案名稱>-AddIn.dna設定檔有加上UseVersionAsOutputVersion="true"。








解法
將該檔案路徑停用共享,再重新開啟即正常。

2017年10月24日 星期二

今天是[程式設計師節]!!

  ___ ___                               ___________   ________    _____ ._.
 /   |   \_____  ______ ______ ___.__. /_   \   _  \  \_____  \  /  |  || |
/    ~    \__  \ \____ \\____ <   |  |  |   /  /_\  \  /  ____/ /   |  || |
\    Y    // __ \|  |_> >  |_> >___  |  |   \  \_/   \/       \/    ^   /\|
 \___|_  /(____  /   __/|   __// ____|  |___|\_____  /\_______ \____   | __
       \/      \/|__|   |__|   \/                  \/         \/    |__| \/

2017年10月18日 星期三

[啟動/偵錯異常]The Ribbon/COM Add-in helper required by add-in "增益集名稱" Add-In could not be registered.

狀況:
偵錯時發現Excel顯示錯誤訊息
"The Ribbon/COM Add-in helper required by add-in "增益集名稱" Add-In could not be registered."
而無法載入增益集(如下圖)














解法:
當開發過程中如果發生例外狀況的次數較多時,
Excel有時會自動停用我們撰寫的增益集,
此時只要手動啟用即可
(工具列>選項>增益集>管理(A):>選[停用的項目]>執行(G)...>把"增益集名稱"啟用)

2017年10月13日 星期五

在[檢視程式碼]←→[設計工具檢視]快速切換

1_在Visual Studio的工具列的[工具]>[選項],選項視窗的[環境]>[鍵盤]
輸入命令"設計工具檢視",新增快速鍵"F7",用於"文字編輯器"


















2_即可只用單一快速鍵"F7"就能在[檢視程式碼]←→[設計工具檢視]模式間快速切換

2017年10月10日 星期二

用Visual Studio Code對Python程式偵錯顯示錯誤訊息的解法

狀況:
1_已安裝Visual Studio 2017 Python開發環境(Python 3.6.2)
2_在Visual Studio Code對Python程式偵錯顯示錯誤訊息(如下圖)














解法:
1_在系統>進階系統設定>進階>環境變數>系統變數
選擇[Path]>按[編輯]






















2_新增Visual Studio 2017所安裝的Python 3的路徑(本例為C:\Program Files\Python36)






















3_重啟Visual Studio Code即可正常偵錯

2017年10月2日 星期一

Excel-DNA輸出的XLL檔加上版本

1_在設定檔<專案名稱>-AddIn.dna的節點
加上屬性UseVersionAsOutputVersion="true"









2_專案屬性>應用程式>組件資訊>檔案版本,修改成現在的版次


















3_可利用類別FileVersionInfo的方法GetVersionInfo取得屬性FileVersion


PS_可將XLL檔加上DLL副檔名,即可確認版本屬性是否設定正確。




2017年9月22日 星期五

Excel-DNA已設中斷點卻不會中斷

狀況如下圖示:














執行[清除]即恢復正常可中斷狀態。

MSSQL連結MySQL

1_在MySQL資料庫新增連線帳號(本例為root)允許存取的主機位址(本例為192.168.2.11)


















2_設定root@192.168.2.11的存取權限(本例為Select)



















3_192.168.2.11設定ODBC驅動程式














4_MySQL設定頁面1














5_MySQL設定頁面2














6_192.168.2.11SSMS設定連結伺服器(資料來源=ODBC驅動程式的名稱)





















7_連結伺服器頁面





















8_使用openquery語法即可查詢資料。

透過超連結開啟本機端程式(URI Scheme)

以鼎新Workflow ERP GP 系統為例:

1_修改登錄檔











workflow是在web頁面超連結的自訂通訊協定,
還要設定本機端程式的路徑參數



2_在web頁面的超連結就可以輸入



 





3_點擊該超連結,如果瀏覽器是Chrome,則會顯示









可選擇[記住..選擇],下次就會直接開啟鼎新Workflow ERP GP 系統。

2017年9月14日 星期四

刪除特定天數以前的檔案

通常使用forfiles指令去遍歷某路徑下的檔案並執行刪除
如:
 forfiles /P "D:\xx"[路徑] /D -3[天數] /C "cmd /c del /q /f @file"

若要刪除遠端主機的檔案(路徑格式為\\xx\xx\xx = UNC格式),
但因為forfiles不支援UNC格式,
除了使用網路磁碟機對應(\\xx\xx\xx→X:\),
還可以使用以下指令:
 PushD "\\xx\xx\xx"[UNC路徑] &&(
forfiles /D -3[天數] /C "cmd /c del /q /f @file"
) & PopD

2017年9月11日 星期一

IIS設定遷移至新主機

步驟:
1_在舊主機匯出IIS設定(站台及應用集區)
輸入指令(要以[系統管理員]權限執行):
%windir%\system32\inetsrv\appcmd list site /config /xml > d:\sites.xml
%windir%\system32\inetsrv\appcmd list apppool /config /xml > d:\apppools.xml








2_刪除新主機預設站台及應用集區



3_匯入IIS設定到新主機即完成
輸入指令(要以[系統管理員]權限執行):
%windir%\system32\inetsrv\appcmd add site /in < d:\sites.xml
%windir%\system32\inetsrv\appcmd add apppool /in < d:\apppools.xml


例外處理:
1_匯入應用集區設定檔時發生錯誤如下圖






2_因為舊主機IIS版本是10.0,而新主機是前1版的8.5,查閱MSDN可發現10.0新增一節點名為[environmentVariables]













所以將設定檔中所有8.5版本不支援的節點刪除,即可正常匯入。