2017年3月15日 星期三
EXCEL中使用VBA藉由XSD檔驗證產出的XML是否正確
'設定XSD驗證-----------------------------------------------------------------
Sub validate(strxml)
Dim strs As String
strs = strxml
Dim xmlDoc, schema, schemaCache, parseErr
Set xmlDoc = CreateObject("Msxml2.DOMDocument.6.0")
'strs =放XML的路徑位置
xmlDoc.Load strs
Set schema = CreateObject("Msxml2.DOMDocument.6.0")
'sheet1.Cells(33, 2).Value= 放XSD的路徑位置
schema.Load sheet1.Cells(33, 2).Value
Set schemaCache = CreateObject("Msxml2.XMLSchemaCache.6.0")
schemaCache.Add "", schema
Set xmlDoc.Schemas = schemaCache
Set objErr = xmlDoc.validate()
If objErr <> 0 Then
MsgBox (objErr.reason)
Else
MsgBox ("Validate Sucessful")
End If
End Sub
PS:版本MS2010 ,我是沒有開啟Microsoft XML6.0 就可以執行,如果需要可在開發工具->工具->設定引用項目開啟
REF1
REF2
REF3
REF4
python REF5
REF6
REF7
REF8
REF9
REF10
REF11
Sub validate(strxml)
Dim strs As String
strs = strxml
Dim xmlDoc, schema, schemaCache, parseErr
Set xmlDoc = CreateObject("Msxml2.DOMDocument.6.0")
'strs =放XML的路徑位置
xmlDoc.Load strs
Set schema = CreateObject("Msxml2.DOMDocument.6.0")
'sheet1.Cells(33, 2).Value= 放XSD的路徑位置
schema.Load sheet1.Cells(33, 2).Value
Set schemaCache = CreateObject("Msxml2.XMLSchemaCache.6.0")
schemaCache.Add "", schema
Set xmlDoc.Schemas = schemaCache
Set objErr = xmlDoc.validate()
If objErr <> 0 Then
MsgBox (objErr.reason)
Else
MsgBox ("Validate Sucessful")
End If
End Sub
PS:版本MS2010 ,我是沒有開啟Microsoft XML6.0 就可以執行,如果需要可在開發工具->工具->設定引用項目開啟
REF1
REF2
REF3
REF4
python REF5
REF6
REF7
REF8
REF9
REF10
REF11
2014年10月30日 星期四
Word 無法正確顯示內嵌超連結的文件。
文件的正常顯示應如下:
但同事使用Word 2010開啟同該文件時,超連結的部分會變成{ HYPERLINK "..." }。
過去小玩過Word VBA,憑印象中認出"功能變數"的標註格式,故懷疑是同事誤觸"直接顯示功能變數標記"之類的選項造成的。花了點功夫才找到設定位置(如下圖),原來選項的正確名稱是"顯示功能變數代碼代替數值":
關閉上述選項後,文件的顯示便恢復正常,經偵訊同事也對亂調選項一事坦承不諱經訊問後確認同事曾試調過此部分的設定,可能當時動到而不自知。 本案順利終結! 以上內容轉至
http://blog.darkthread.net/post-2012-01-12-word-hyperlink-markup.aspx
但同事使用Word 2010開啟同該文件時,超連結的部分會變成{ HYPERLINK "..." }。
過去小玩過Word VBA,憑印象中認出"功能變數"的標註格式,故懷疑是同事誤觸"直接顯示功能變數標記"之類的選項造成的。花了點功夫才找到設定位置(如下圖),原來選項的正確名稱是"顯示功能變數代碼代替數值":
關閉上述選項後,文件的顯示便恢復正常,經偵訊同事也對亂調選項一事坦承不諱經訊問後確認同事曾試調過此部分的設定,可能當時動到而不自知。 本案順利終結! 以上內容轉至
http://blog.darkthread.net/post-2012-01-12-word-hyperlink-markup.aspx
2014年10月8日 星期三
~.:.': .NET碎碎念:'.':.~: 讀取文字檔中的特定行數資料
~.:.': .NET碎碎念:'.':.~: 讀取文字檔中的特定行數資料: 今天我同事又來一個問題了 因工作需要,他必須把某個文字檔的 特定行數 取出來 加以運算之後再寫回去 這東西沒啥需要做什麼解釋的,我們就進程式碼吧 本範例只講如何讀取,寫回去...對大家來說應該不是難事吧XD 這個範例是讀取 c:\text.txt 並將檔案裡的第2...
2011年11月24日 星期四
javascript日期加減
var d="2011/11/24"
add_time = f*60*60*24*1000; //設定欲加的天數毫秒,f是欲相加的天數,若2天則帶入2
org_day = new Date(d); //設定一個原始時間
org_time = Date.parse(org_day); //將原始時間分解成毫秒
SumDay = org_time + add_time; //將兩個時間相加
NewDay = new Date(); //設定一個新的時間變數
reday = NewDay.setTime(SumDay); //將相加後的時間還原成日期
origDay = new Date(reday); //再設定一個時間變數,值為還原後的時間
//以下則為取出年、月、日
d = origDay .getDate();
Y = origDay .getYear();
M = origDay .getMonth();
if(d<10){d = "0" + d;} //設定日期若為個數則加0
//設定為 11/01/2003的日期格式
//因為在javascript月是抓0到11所以要記得+1
Ok_Day = Y+"/"+(M+1) + "/" + d ;
add_time = f*60*60*24*1000; //設定欲加的天數毫秒,f是欲相加的天數,若2天則帶入2
org_day = new Date(d); //設定一個原始時間
org_time = Date.parse(org_day); //將原始時間分解成毫秒
SumDay = org_time + add_time; //將兩個時間相加
NewDay = new Date(); //設定一個新的時間變數
reday = NewDay.setTime(SumDay); //將相加後的時間還原成日期
origDay = new Date(reday); //再設定一個時間變數,值為還原後的時間
//以下則為取出年、月、日
d = origDay .getDate();
Y = origDay .getYear();
M = origDay .getMonth();
if(d<10){d = "0" + d;} //設定日期若為個數則加0
//設定為 11/01/2003的日期格式
//因為在javascript月是抓0到11所以要記得+1
Ok_Day = Y+"/"+(M+1) + "/" + d ;
2011年10月13日 星期四
radiobutton checkbox text 取值
獲取一組radio被選中項的值
var item = $('input[@name=items][@checked]').val();
獲取select被選中項的文本
var item = $("select[@name=items] option[@selected]").text();
select下拉框的第二個元素為當前選中值
$('#select_id')[0].selectedIndex = 1;//不知為何要加[0]
radio單選組的第二個元素為當前選中值
*這招沒辦法用在checkbox上
$('input[@name=items]').get(1).checked = true;
$(#testSelect option:selected').text();
$("#testSelect").find('option:selected').text();
$("#testSelect").val();
獲取值:
文本框,文本區域:$("#txt").attr("value");
多選框checkbox:$("#checkbox_id").attr("value");
單選組radio: $("input[@type=radio][@checked]").val();
下拉框select: $('#sel').val();
控制表單元素:
文本框,文本區域:$("#txt").attr("value",'');//清空內容
$("#txt").attr("value",'11');//填充內容
多選框checkbox: $("#chk1").attr("checked",'');//不打勾
$("#chk2").attr("checked",true);//打勾
if($("#chk1").attr('checked')==undefined) //判斷是否已經打勾
單選組radio: $("input[@type=radio]").attr("checked",'2');//設置value=2的項目為當前選中項
下拉框select: $("#sel").attr("value",'-sel3');//設置value=-sel3的項目為當前選中項
$("11112222").appendTo("#sel")//添加下拉框的option
$("#sel").empty();//清空下拉框
事件
用click 觸發改變事件(用change 還得再點旁邊才會觸發)
$("input[@name='RadtioName']").click(function(){
});
var item = $('input[@name=items][@checked]').val();
獲取select被選中項的文本
var item = $("select[@name=items] option[@selected]").text();
select下拉框的第二個元素為當前選中值
$('#select_id')[0].selectedIndex = 1;//不知為何要加[0]
radio單選組的第二個元素為當前選中值
*這招沒辦法用在checkbox上
$('input[@name=items]').get(1).checked = true;
$(#testSelect option:selected').text();
$("#testSelect").find('option:selected').text();
$("#testSelect").val();
獲取值:
文本框,文本區域:$("#txt").attr("value");
多選框checkbox:$("#checkbox_id").attr("value");
單選組radio: $("input[@type=radio][@checked]").val();
下拉框select: $('#sel').val();
控制表單元素:
文本框,文本區域:$("#txt").attr("value",'');//清空內容
$("#txt").attr("value",'11');//填充內容
多選框checkbox: $("#chk1").attr("checked",'');//不打勾
$("#chk2").attr("checked",true);//打勾
if($("#chk1").attr('checked')==undefined) //判斷是否已經打勾
單選組radio: $("input[@type=radio]").attr("checked",'2');//設置value=2的項目為當前選中項
下拉框select: $("#sel").attr("value",'-sel3');//設置value=-sel3的項目為當前選中項
$("11112222").appendTo("#sel")//添加下拉框的option
$("#sel").empty();//清空下拉框
事件
用click 觸發改變事件(用change 還得再點旁邊才會觸發)
$("input[@name='RadtioName']").click(function(){
});
2011年10月3日 星期一
建立EF_GP警告語法
EF_GP警告撰寫
必須撰寫在function formSave()中這樣要儲存時才回去觸發警告。
Textbox型態
if(document.getElementById("req_desc").value=="")
{
warning_message=warning_message+"領款用途未填寫\n";
}
Checkbox 型態
var tchecked=document.getElementsByName("supplier");
var ts_name=document.getElementById("supplier_name").value
if(tchecked[1].checked==true && ts_name=="" )
{
warning_message=warning_message+"勾選外部廠商時,需填寫廠商名稱\n";
}
必須撰寫在function formSave()中這樣要儲存時才回去觸發警告。
Textbox型態
if(document.getElementById("req_desc").value=="")
{
warning_message=warning_message+"領款用途未填寫\n";
}
Checkbox 型態
var tchecked=document.getElementsByName("supplier");
var ts_name=document.getElementById("supplier_name").value
if(tchecked[1].checked==true && ts_name=="" )
{
warning_message=warning_message+"勾選外部廠商時,需填寫廠商名稱\n";
}
EFGP_程式設計師
Q:如果人處多部門,但對應不同主管該如何解決?例如:mandy 需因部門的不同,而更改他的直屬主管簽核?
A:這樣便可以在mandy的組織中設定每個部門他所對應的主管,這樣發起流程時,便可以用他設定組織中對應的主管去跑流程。
A:這樣便可以在mandy的組織中設定每個部門他所對應的主管,這樣發起流程時,便可以用他設定組織中對應的主管去跑流程。
EFGP疑難雜症
Q:Invoke匯入資料庫的表單已經結案但是流程內容仍是它的顏色顯是為處理中,為何?(流程控制)
A:因為Invoke本來就是淡藍色(自我耍笨)。
Q:系統會去檢查代理期間,如果有在代理期間,就會轉給代理人,如果無,則就不會,但是如果超過期間,下方的List會自動刪除還是要手動刪除? (使用者問題)
A:它會自動偵測是否在代理期間內,如果在代理期間內他會先去找預設的代理人進行全部表單的代理,但是,如果下表有已新增的代理人,他就會去找針對有設定的表單的代理人優先轉給他。
Q:流程的版更及表單的版更有何不同? (管理者需知)
A:流程的版更會讓新的表單跑新的流程,而正在跑的流程仍就會跑舊的流程。假設舊的流程有問題而必須更改成新的流程,如果表單是使用舊的流程因而卡單則請使用者重新上單,因為流程已經廢掉,必須使用新的流程才能跑完。
Q: 新增完員工需注意事項? (管理者需知)
A:新增完員工後須特別注意LDAP帳號是否有建立,班別是否建立,代理人是否有建立,舊版EF也需新增。
A:efgp或efap(正式區上)必須去執行D:\EFGP\jboss-4.0.5.GA\bin\run.bat檔不然,網頁將無法開啟。(管理者需知)
Q:編輯使用者資料時,如無法從組織設計師編輯時該如何處理? (管理者需知)
A:前往efap(正式區)資料庫中開啟Users及Employee,的資料表,Employee.userOID==Users.OID,大部分的員工資料都在Users裡面,只有少部分的組織代號會在Employee中。
Q:新版EF如何刪除附件? (使用者需知)
A:上傳完附檔後會附件列表會出現在表單的下方,下方中有個打X點擊他便可刪除檔案
Q:當使用者想轉某張單子時,先請使用者提供被轉人的工號及轉單的單號及轉單人工號以利作業。(使用者需知)
A:
Q:控制項超出表單無法刪除或控制時該怎麼辦? (控制項控制)
A:流程中全不把他變不見,眼不見為淨。
Q:表單設計師設計完後,至流程設計師卻無法看見,為何? (管理者需知)
A:表單設計師設計儲存完後原則上只要在流程設計師重新載入便可以看到更新過後的表單,如果還是不行,就先把表單儲存出來,然後把原來的表單刪掉,再把舊的檔案打開,儲存到原本的位置上,或者是開一張新表單,把檔案開啟後,全部控制項,複製到新的表單,必須注意,控制像這時候的代號都必須重新命名。
A:EasyFlowGP的Dropdownlist為空值時是六個$字號而非傳統的””。
Q:登入畫面出現LDAP無法連線? (管理者需知)
A:請檢查新版EF管理者中的系統管理員中的系統管理,測試與AD是否正常連線。
A:因為Invoke本來就是淡藍色(自我耍笨)。
Q:系統會去檢查代理期間,如果有在代理期間,就會轉給代理人,如果無,則就不會,但是如果超過期間,下方的List會自動刪除還是要手動刪除? (使用者問題)
A:它會自動偵測是否在代理期間內,如果在代理期間內他會先去找預設的代理人進行全部表單的代理,但是,如果下表有已新增的代理人,他就會去找針對有設定的表單的代理人優先轉給他。
Q:流程的版更及表單的版更有何不同? (管理者需知)
A:流程的版更會讓新的表單跑新的流程,而正在跑的流程仍就會跑舊的流程。假設舊的流程有問題而必須更改成新的流程,如果表單是使用舊的流程因而卡單則請使用者重新上單,因為流程已經廢掉,必須使用新的流程才能跑完。
Q: 新增完員工需注意事項? (管理者需知)
A:新增完員工後須特別注意LDAP帳號是否有建立,班別是否建立,代理人是否有建立,舊版EF也需新增。
A:efgp或efap(正式區上)必須去執行D:\EFGP\jboss-4.0.5.GA\bin\run.bat檔不然,網頁將無法開啟。(管理者需知)
Q:編輯使用者資料時,如無法從組織設計師編輯時該如何處理? (管理者需知)
A:前往efap(正式區)資料庫中開啟Users及Employee,的資料表,Employee.userOID==Users.OID,大部分的員工資料都在Users裡面,只有少部分的組織代號會在Employee中。
Q:新版EF如何刪除附件? (使用者需知)
A:上傳完附檔後會附件列表會出現在表單的下方,下方中有個打X點擊他便可刪除檔案
Q:當使用者想轉某張單子時,先請使用者提供被轉人的工號及轉單的單號及轉單人工號以利作業。(使用者需知)
A:
Q:控制項超出表單無法刪除或控制時該怎麼辦? (控制項控制)
A:流程中全不把他變不見,眼不見為淨。
Q:表單設計師設計完後,至流程設計師卻無法看見,為何? (管理者需知)
A:表單設計師設計儲存完後原則上只要在流程設計師重新載入便可以看到更新過後的表單,如果還是不行,就先把表單儲存出來,然後把原來的表單刪掉,再把舊的檔案打開,儲存到原本的位置上,或者是開一張新表單,把檔案開啟後,全部控制項,複製到新的表單,必須注意,控制像這時候的代號都必須重新命名。
A:EasyFlowGP的Dropdownlist為空值時是六個$字號而非傳統的””。
Q:登入畫面出現LDAP無法連線? (管理者需知)
A:請檢查新版EF管理者中的系統管理員中的系統管理,測試與AD是否正常連線。
2011年9月8日 星期四
訂閱:
文章 (Atom)



