<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>VB</title><link>http://blog.blueshop.com.tw/topcat/category/537.aspx</link><description>VB,VBA程式設計技術分享 </description><managingEditor>topcat</managingEditor><dc:language>zh-TW</dc:language><generator>.Text Version 0.95.2004.101</generator><item><dc:creator>topcat</dc:creator><title>[轉貼]把Excel內的Flash找出來另存的VBA程式碼</title><link>http://blog.blueshop.com.tw/topcat/archive/2008/07/01/55658.aspx</link><pubDate>Tue, 01 Jul 2008 08:39:00 GMT</pubDate><guid>http://blog.blueshop.com.tw/topcat/archive/2008/07/01/55658.aspx</guid><wfw:comment>http://blog.blueshop.com.tw/topcat/comments/55658.aspx</wfw:comment><comments>http://blog.blueshop.com.tw/topcat/archive/2008/07/01/55658.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.blueshop.com.tw/topcat/comments/commentRss/55658.aspx</wfw:commentRss><trackback:ping>http://blog.blueshop.com.tw/topcat/services/trackbacks/55658.aspx</trackback:ping><description>&lt;p&gt;有人剛好收到Excel內涵Flash，可是不知道為何無法撥放&lt;/p&gt;&lt;p&gt;小喵在網路上找了一下剛好看到這個可以把Excel檔案中的Flash找出來另存的VBA&lt;/p&gt;&lt;p&gt;提供給大家參考&lt;/p&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;Sub&lt;/span&gt; ExtractFlash()

    &lt;span class="kwrd"&gt;Dim&lt;/span&gt; tmpFileName &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;String&lt;/span&gt;, FileNumber &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Integer&lt;/span&gt;
    &lt;span class="kwrd"&gt;Dim&lt;/span&gt; myFileId &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Long&lt;/span&gt;
    &lt;span class="kwrd"&gt;Dim&lt;/span&gt; myArr() &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Byte&lt;/span&gt;
    &lt;span class="kwrd"&gt;Dim&lt;/span&gt; i &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Long&lt;/span&gt;
    &lt;span class="kwrd"&gt;Dim&lt;/span&gt; MyFileLen &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Long&lt;/span&gt;, myIndex &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Long&lt;/span&gt;
    &lt;span class="kwrd"&gt;Dim&lt;/span&gt; swfFileLen &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Long&lt;/span&gt;
    &lt;span class="kwrd"&gt;Dim&lt;/span&gt; swfArr() &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Byte&lt;/span&gt;
    
    tmpFileName = Application.GetOpenFilename(&lt;span class="str"&gt;"office File(*.doc;*.xls),*.doc;*.xls"&lt;/span&gt;, , &lt;span class="str"&gt;"確定要分析的 Office 檔"&lt;/span&gt;)
    
    &lt;span class="kwrd"&gt;If&lt;/span&gt; tmpFileName = &lt;span class="str"&gt;"False"&lt;/span&gt; &lt;span class="kwrd"&gt;Then&lt;/span&gt; &lt;span class="kwrd"&gt;Exit&lt;/span&gt; &lt;span class="kwrd"&gt;Sub&lt;/span&gt;
    myFileId = FreeFile
    Open tmpFileName &lt;span class="kwrd"&gt;For&lt;/span&gt; Binary &lt;span class="kwrd"&gt;As&lt;/span&gt; #myFileId
    MyFileLen = LOF(myFileId)
    &lt;span class="kwrd"&gt;ReDim&lt;/span&gt; myArr(MyFileLen - 1)
    &lt;span class="kwrd"&gt;Get&lt;/span&gt; myFileId, , myArr()
    Close myFileId
    Application.ScreenUpdating = &lt;span class="kwrd"&gt;False&lt;/span&gt;
    i = 0

    &lt;span class="kwrd"&gt;Do&lt;/span&gt; &lt;span class="kwrd"&gt;While&lt;/span&gt; i &amp;lt; MyFileLen
        &lt;span class="kwrd"&gt;If&lt;/span&gt; myArr(i) = &amp;amp;H46 &lt;span class="kwrd"&gt;Then&lt;/span&gt;
            &lt;span class="kwrd"&gt;If&lt;/span&gt; myArr(i + 1) = &amp;amp;H57 &lt;span class="kwrd"&gt;And&lt;/span&gt; myArr(i + 2) = &amp;amp;H53 &lt;span class="kwrd"&gt;Then&lt;/span&gt;
                swfFileLen = &lt;span class="kwrd"&gt;CLng&lt;/span&gt;(&amp;amp;H1000000) * myArr(i + 7) + &lt;span class="kwrd"&gt;CLng&lt;/span&gt;(&amp;amp;H10000) * myArr(i + 6) + &lt;span class="kwrd"&gt;CLng&lt;/span&gt;(&amp;amp;H100) * myArr(i + 5) + myArr(i + 4)
                &lt;span class="kwrd"&gt;ReDim&lt;/span&gt; swfArr(swfFileLen - 1)
                &lt;span class="kwrd"&gt;For&lt;/span&gt; myIndex = 0 &lt;span class="kwrd"&gt;To&lt;/span&gt; swfFileLen - 1
                    swfArr(myIndex) = myArr(i + myIndex)
                &lt;span class="kwrd"&gt;Next&lt;/span&gt; myIndex
                &lt;span class="kwrd"&gt;Exit&lt;/span&gt; &lt;span class="kwrd"&gt;Do&lt;/span&gt;
            &lt;span class="kwrd"&gt;Else&lt;/span&gt;
                i = i + 3
            &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;
        &lt;span class="kwrd"&gt;Else&lt;/span&gt;
            i = i + 1
        &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;
    &lt;span class="kwrd"&gt;Loop&lt;/span&gt;
    myFileId = FreeFile
    tmpFileName = Left(tmpFileName, Len(tmpFileName) - 4) &amp;amp; &lt;span class="str"&gt;".swf"&lt;/span&gt;
    Open tmpFileName &lt;span class="kwrd"&gt;For&lt;/span&gt; Binary &lt;span class="kwrd"&gt;As&lt;/span&gt; #myFileId
    Put #myFileId, , swfArr
    Close myFileId
    MsgBox &lt;span class="str"&gt;"以"&lt;/span&gt; &amp;amp; tmpFileName &amp;amp; &lt;span class="str"&gt;"名字保存"&lt;/span&gt;
    
&lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Sub&lt;/span&gt;
&lt;/pre&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;&lt;img src ="http://blog.blueshop.com.tw/topcat/aggbug/55658.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>topcat</dc:creator><title>.NET呼叫VB6撰寫元件【釋放資源】的語法</title><link>http://blog.blueshop.com.tw/topcat/archive/2007/04/04/50403.aspx</link><pubDate>Wed, 04 Apr 2007 18:31:00 GMT</pubDate><guid>http://blog.blueshop.com.tw/topcat/archive/2007/04/04/50403.aspx</guid><wfw:comment>http://blog.blueshop.com.tw/topcat/comments/50403.aspx</wfw:comment><comments>http://blog.blueshop.com.tw/topcat/archive/2007/04/04/50403.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blog.blueshop.com.tw/topcat/comments/commentRss/50403.aspx</wfw:commentRss><trackback:ping>http://blog.blueshop.com.tw/topcat/services/trackbacks/50403.aspx</trackback:ping><description>在撰寫.NET的時候，.NET並不會自動作資源回收，所以呼叫完元件後，需要自己下語法將資源回收&lt;br&gt;
&lt;br&gt;
如果呼叫的是.NET所撰寫的COM+元件，那麼資源回收的語法是&lt;br&gt;
&lt;br&gt;
Obj.Dispose()&lt;br&gt;
&lt;br&gt;
Obj = Nothing&lt;br&gt;
&lt;br&gt;
 &lt;br&gt;
&lt;br&gt;
但是如果呼叫的是VB6的元件，那麼不能呼叫Dispose將資源釋放&lt;br&gt;
&lt;br&gt;
所以需要用以下的指令將資源釋放(元件服務中的數字會停下來)&lt;br&gt;
&lt;br&gt;
 &lt;br&gt;
&lt;br&gt;
 &lt;br&gt;&lt;font color=red&gt;&lt;b&gt;System.Runtime.InteropServices.Marshal.ReleaseComObject(obj)&lt;/b&gt;&lt;/font&gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
整體的語法如下&lt;br&gt;
Dim obj as Object = CreateObject(“PDemo.CDemo”)&lt;br&gt;
&lt;br&gt;
Try&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Catch ex As Exception&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Finally&lt;br&gt;
&lt;br&gt;
&lt;br&gt;&lt;font color=red&gt;&lt;b&gt;System.Runtime.InteropServices.Marshal.ReleaseComObject(obj)&lt;/b&gt;&lt;/font&gt;&lt;br&gt;
&lt;br&gt;
    obj = Nothing&lt;br&gt;
&lt;br&gt;
End Try&lt;br&gt;

&lt;img src ="http://blog.blueshop.com.tw/topcat/aggbug/50403.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>topcat</dc:creator><title>將文字20061226轉成日期方式2006/12/26</title><link>http://blog.blueshop.com.tw/topcat/archive/2006/12/26/48908.aspx</link><pubDate>Tue, 26 Dec 2006 11:58:00 GMT</pubDate><guid>http://blog.blueshop.com.tw/topcat/archive/2006/12/26/48908.aspx</guid><wfw:comment>http://blog.blueshop.com.tw/topcat/comments/48908.aspx</wfw:comment><comments>http://blog.blueshop.com.tw/topcat/archive/2006/12/26/48908.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blog.blueshop.com.tw/topcat/comments/commentRss/48908.aspx</wfw:commentRss><trackback:ping>http://blog.blueshop.com.tw/topcat/services/trackbacks/48908.aspx</trackback:ping><description>&lt;TEXTAREA class=vb style="WIDTH: 529px; HEIGHT: 87px" name=code rows=4 cols=62&gt;    
CDate(Format(CInt(Me.TextBox1.Text), "0000/00/00"))
&lt;/TEXTAREA&gt;&lt;img src ="http://blog.blueshop.com.tw/topcat/aggbug/48908.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>topcat</dc:creator><title>N-Tiers開發方式(ASP/ASP.NET、VB6/VB.NET呼叫使用COM+元件)</title><link>http://blog.blueshop.com.tw/topcat/archive/2006/08/28/36695.aspx</link><pubDate>Mon, 28 Aug 2006 19:05:00 GMT</pubDate><guid>http://blog.blueshop.com.tw/topcat/archive/2006/08/28/36695.aspx</guid><wfw:comment>http://blog.blueshop.com.tw/topcat/comments/36695.aspx</wfw:comment><comments>http://blog.blueshop.com.tw/topcat/archive/2006/08/28/36695.aspx#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://blog.blueshop.com.tw/topcat/comments/commentRss/36695.aspx</wfw:commentRss><trackback:ping>http://blog.blueshop.com.tw/topcat/services/trackbacks/36695.aspx</trackback:ping><description>&lt;P&gt;續接：&lt;A id=_dd85df0e09b5c35a_HomePageDays_DaysList__ctl2_DayItem_DayList__ctl0_TitleUrl href="/topcat/archive/2006/08/09/35630.aspx"&gt;N-Tiers開發方式(COM+元件的註冊、修改)&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;在元件安裝完成後，接下來的工作就是要如何呼叫使用我們寫好的元件了。我們假設我們寫好的元件的名稱如下：&lt;/P&gt;
&lt;P&gt;&lt;TEXTAREA class=xml style="WIDTH: 681px; HEIGHT: 100px" name=code rows=6 cols=80&gt;Package:KDMO1000
Project：PDMOMenu
Class：
    CDMOMenu1(無Transaction)
    CDMOMenu2(有Transaction)
假設CDMOMenu1中有一個Function是GetNodeName，傳入參數NodeId(整數)，傳回NodeName(字串)

GetNodeName(Byval NodeId as Integer) As String&lt;/TEXTAREA&gt;&lt;/P&gt;
&lt;P&gt;Late Binding：&lt;/P&gt;
&lt;P&gt;我這邊所提的使用方式，是使用Late Binding的呼叫方式。也就是說，不會預先將元件註冊到您的ASP.NET的專案中，或者是您的VB.NET的專案中，當系統運作的時候，在動態的從Server把該物件Bind上來使用。這樣做的缺點是，您無法透過obj.就彈出元件內的屬性方法讓您選擇，使用屬性方法的時候都必須自己Keyin進去。但是優點則是，當您的元件有做了變更，您不必去一個一個的專案裡重新的Reference您的元件；另外就是不論您寫的是ASP、ASP.NET、VB、VB.NET，您呼叫元件的方式是一致的。&lt;/P&gt;
&lt;P&gt;呼叫元件：&lt;/P&gt;
&lt;P dir=ltr&gt;呼叫元件的方式如下：&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P dir=ltr&gt;ASP:&lt;BR&gt;&lt;TEXTAREA class=vb style="WIDTH: 607px; HEIGHT: 100px" name=code rows=6 cols=71&gt;Set obj = CreateObject("PDMOMenu.CDMOMenu1")
NodeId = 2
NodeName = obj.GetNodeName(NodeId)&lt;/TEXTAREA&gt;&lt;/P&gt;
&lt;P dir=ltr&gt;VB:&lt;BR&gt;&lt;TEXTAREA class=vb style="WIDTH: 606px; HEIGHT: 100px" name=code rows=6 cols=71&gt;Dim obj as Object
Set obj = CreateObject("PDMOMenu.CDMOMenu1")
Dim NodeId as Integer
NodeId = 2
Dim NodeName as String
NodeName = obj.GetNodeName(NodeId)&lt;/TEXTAREA&gt;&lt;/P&gt;
&lt;P dir=ltr&gt;ASP.NET/VB.NET&lt;/P&gt;
&lt;P dir=ltr&gt;&lt;TEXTAREA class=vb style="WIDTH: 609px; HEIGHT: 179px" name=code rows=7 cols=72&gt;Dim NodeId As Integer = 2
Dim obj As Object = CreateObject("PDMOMenu.CDMOMenu1")
Try
    Dim NodeName As String = obj.GetNodeName(NodeId)
Catch ex As Exception
    Me.lblErrMsg.Text=ex.Message.toString()
Finally
    '資源回收
    obj.Dispose()
    obj = Nothing
End Try&lt;/TEXTAREA&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P dir=ltr&gt;&amp;nbsp;.NET呼叫元件需自行釋放元件：&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P dir=ltr&gt;從以上的這些程式碼，可以發現，呼叫元件的過程幾乎相同，使用.NET撰寫時，呼叫的方式更可以簡潔。&lt;/P&gt;
&lt;P dir=ltr&gt;當元件被呼叫執行後，可以在【元件服務】中找到該Package中的元件被呼叫而轉起來。如果是用ASP,VB6呼叫元件，可以發現當元件呼叫完成後，元件的轉動會停下來，呼叫中的元件數字也會歸零。但次使用.NET呼叫元件，如果沒有撰寫【Try..Catch..Finally..End Try】並且把【&lt;STRONG&gt;&lt;FONT color=#0000ff&gt;obj.Dispose()&lt;/FONT&gt;&lt;/STRONG&gt;】、【&lt;STRONG&gt;&lt;FONT color=#0000ff&gt;obj = Nothing&lt;/FONT&gt;&lt;/STRONG&gt;】放在Finally裡，那麼【元件服務】中的元件將會轉不停。這是因為ASP,VB6再程式執行完畢時，會自動的做【&lt;STRONG&gt;&lt;FONT color=#0000ff&gt;資源回收&lt;/FONT&gt;&lt;/STRONG&gt;】的動作；但是在.NET中【&lt;STRONG&gt;&lt;FONT color=#0000ff&gt;資源回收&lt;/FONT&gt;&lt;/STRONG&gt;】必須經由程式設計者手動的執行，否則需當系統資源不足時啟動GC才能夠真正的回收。&lt;/P&gt;
&lt;P dir=ltr&gt;&amp;nbsp;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;img src ="http://blog.blueshop.com.tw/topcat/aggbug/36695.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>topcat</dc:creator><title>利用Array傳遞參數、變數、條件到COM方法</title><link>http://blog.blueshop.com.tw/topcat/archive/2005/08/08/11361.aspx</link><pubDate>Mon, 08 Aug 2005 18:39:00 GMT</pubDate><guid>http://blog.blueshop.com.tw/topcat/archive/2005/08/08/11361.aspx</guid><wfw:comment>http://blog.blueshop.com.tw/topcat/comments/11361.aspx</wfw:comment><comments>http://blog.blueshop.com.tw/topcat/archive/2005/08/08/11361.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blog.blueshop.com.tw/topcat/comments/commentRss/11361.aspx</wfw:commentRss><trackback:ping>http://blog.blueshop.com.tw/topcat/services/trackbacks/11361.aspx</trackback:ping><description>&lt;P&gt;利用Array傳遞參數、變數、條件到COM方法&lt;/P&gt;
&lt;P&gt;以前建立COM中的Function，往往只要改變參數個數，就會造成機碼不相容的狀況，偶發現一個可以避免的方法&lt;/P&gt;
&lt;P&gt;舊 Function A(byval p1 as string, byval p2 as string ,byval p3 as string) as Adodb.Recordet&lt;BR&gt;新 Function A(Parameter as Varinet,Rs as Varent) as Varient&lt;BR&gt;其中，Parameter是一個矩陣，可用來作參數傳遞、多筆維護、SQL查詢條件等。&lt;BR&gt;傳遞【參數、變數】：&lt;/P&gt;
&lt;P&gt;比如說有一個Function共有3個參數，分別是RTN,DEPT,AREA&lt;BR&gt;新的寫法如下：&lt;BR&gt;Asp中&lt;BR&gt;RTN = Session(&amp;#8220;userrtn&amp;#8221;)&lt;BR&gt;DEPT = Session(&amp;#8220;userdept&amp;#8221;)&lt;BR&gt;AREA = Session(&amp;#8220;userarea&amp;#8221;)&lt;BR&gt;Dim P(3)&lt;BR&gt;P(1) = RTN&lt;BR&gt;P(2) = DEPT&lt;BR&gt;P(3) = AREA&lt;BR&gt;Set Obj = Server.CreateObject(&amp;#8220;Pxxx0000.Cxxx0000&amp;#8221;)&lt;BR&gt;RC = Obj.A(P,Rs)&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;Com 中：&lt;BR&gt;Public Function A(Parameter as Varient,Rs as Varient) as Varient&lt;BR&gt;Dim RTN as String&lt;BR&gt;Dim DEPT as String&lt;BR&gt;Dim AREA as String&lt;/P&gt;
&lt;P&gt;If Not(IsArray(Parameter) Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Goto Err_NotArray&lt;BR&gt;End If&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;RTN = Parameter(1)&lt;BR&gt;DEPT = Parameter(2)&lt;BR&gt;AREA = Parameter(3)&lt;/P&gt;
&lt;P&gt;Set Rs = CreateObject(&amp;#8220;ADODB.Recordset&amp;#8221;)&lt;BR&gt;With Rs&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .CursorLocation = adUseClientBatch&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .CursorType = adOpenDynamic&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .LockType = adLockOptimistic&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .ActiveConnection = conn &lt;BR&gt;End With&lt;/P&gt;
&lt;P&gt;SQLTXT = &amp;#8220;SELECT * FROM TXXX1234 WHERE (RTN = &amp;#8216;&amp;#8221; &amp;amp; RTN &amp;amp; &amp;#8221;&amp;#8217;) AND (DEPT = &amp;#8216;&amp;#8221; &amp;amp; DEPT &amp;amp; &amp;#8221;&amp;#8217;) AND (AREA=&amp;#8217;&amp;#8221; &amp;amp; AREA &amp;amp; &amp;#8221;&amp;#8217;)&amp;#8221;&lt;BR&gt;Rs.Open SQLTXT&lt;/P&gt;
&lt;P&gt;A = &amp;#8220;Success&amp;#8221;&lt;/P&gt;
&lt;P&gt;&amp;#8230;&amp;#8230;&amp;#8230;&amp;#8230;&amp;#8230;&amp;#8230;.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;==============================================================================&lt;BR&gt;例1：傳遞【條件】&lt;/P&gt;
&lt;P&gt;ASP:&lt;BR&gt;Dim P(3,7)&lt;BR&gt;P(1,1) = "WHERE"&lt;BR&gt;P(2,1) = "(SOURCE = "&lt;BR&gt;P(3,1) = "N'2'"&lt;BR&gt;P(1,2) = "OR"&lt;BR&gt;P(2,2) = "SOURCE = "&lt;BR&gt;P(3,2) = "N'5'"&lt;BR&gt;P(1,3) = "OR"&lt;BR&gt;P(2,3) = "SOURCE = "&lt;BR&gt;P(3,3) = "N'6')"&lt;BR&gt;P(1,4) = "AND"&lt;BR&gt;P(2,4) = "(DIVPROD = "&lt;BR&gt;P(3,4) = "N'B'"&lt;BR&gt;P(1,5) = "OR"&lt;BR&gt;P(2,5) = "DIVPROD = "&lt;BR&gt;P(3,5) = "N'I'"&lt;BR&gt;P(1,6) = "OR"&lt;BR&gt;P(2,6) = "DIVPROD = "&lt;BR&gt;P(3,6) = "N'9')"&lt;BR&gt;P(1,7) = "ORDER BY"&lt;BR&gt;P(2,7) = "PROD"&lt;BR&gt;P(3,7) = ""&lt;BR&gt;Set Obj = Server.CreateObject("PXXXXXX.CXXXXXXX")&lt;BR&gt;RC = Obj.ProdMutiLst(P,rs)&lt;BR&gt;===============================================================================&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;COM:&lt;BR&gt;Set Rs = CreateObject("ADODB.Recordset")&lt;/P&gt;
&lt;P&gt;With Rs&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .CursorLocation = adUseClientBatch&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .CursorType = adOpenDynamic&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .LockType = adLockOptimistic&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .ActiveConnection = conn&lt;BR&gt;End With&lt;BR&gt;&amp;#8216;基本的SELECT&lt;BR&gt;SQLTXT1 = "SELECT * FROM VSANPRD"&lt;/P&gt;
&lt;P&gt;If Not IsArray(Parameter) Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SQLTXT1 = SQLTXT1 &amp;amp; ""&lt;BR&gt;Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ArrayCount = UBound(Parameter, 2)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For i = 1 To ArrayCount&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SQLTXT1 = SQLTXT1 &amp;amp; " " &amp;amp; Parameter(1, i) &amp;amp; " " &amp;amp; Parameter(2, i) &amp;amp; " " &amp;amp; Parameter(3, i)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;BR&gt;End If&lt;BR&gt;Rs.Open SQLTXT1&lt;/P&gt;
&lt;P&gt;ProdMutiLst = "Success"&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;例2：傳遞【變數、參數、多筆維護】&lt;BR&gt;ASP:&lt;/P&gt;
&lt;P&gt;&amp;#8216;***************************************************************&lt;BR&gt;&amp;#8216;** 此部份傳遞變數(參數)&lt;BR&gt;&amp;#8216;***************************************************************&lt;/P&gt;
&lt;P&gt;Dim Parameter(13) &lt;BR&gt;Parameter(1) = OldStudyID &lt;BR&gt;Parameter(2) = StudyID &lt;BR&gt;Parameter(3) = YYYY &lt;BR&gt;Parameter(4) = SName &lt;BR&gt;Parameter(5) = Birthday &lt;BR&gt;Parameter(6) = Father &lt;BR&gt;Parameter(7) = Mother &lt;BR&gt;Parameter(8) = ClassID &lt;BR&gt;Parameter(9) = PostNo &lt;BR&gt;Parameter(10) = City &lt;BR&gt;Parameter(11) = Area &lt;BR&gt;Parameter(12) = Road &lt;BR&gt;Parameter(13) = Memo &lt;/P&gt;
&lt;P&gt;&amp;#8216;***************************************************************&lt;BR&gt;&amp;#8216;** 此部份【多筆維護】&lt;BR&gt;&amp;#8216;***************************************************************&lt;BR&gt;Dim Tel() &lt;BR&gt;TelCnt = Request.Form("TelNo").Count &lt;BR&gt;ReDim Tel(2,TelCnt) &lt;BR&gt;For y=1 to TelCnt &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Tel(1,y) = Request.Form("TelName").Item(y) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Tel(2,y) = Request.Form("TelNo").Item(y) &lt;BR&gt;Next &lt;BR&gt;Set Obj = Server.CreateObject("PCSLStudent.CCSLStudent0") &lt;BR&gt;RC = Obj.StudentModify(RType,Parameter,Tel,rs)&lt;/P&gt;
&lt;P&gt;COM:&lt;BR&gt;&amp;#8216;***************************************************************&lt;BR&gt;&amp;#8216;** 此部份傳遞變數(參數)&lt;BR&gt;&amp;#8216;***************************************************************&lt;BR&gt;OldStudyID = Parameter(1)&lt;BR&gt;StudyID = Parameter(2)&lt;BR&gt;YYYY = Parameter(3)&lt;BR&gt;SName = Parameter(4)&lt;BR&gt;Birthday = Parameter(5)&lt;BR&gt;Father = Parameter(6)&lt;BR&gt;Mother = Parameter(7)&lt;BR&gt;ClassID = Parameter(8)&lt;BR&gt;PostNo = Parameter(9)&lt;BR&gt;City = Parameter(10)&lt;BR&gt;Area = Parameter(11)&lt;BR&gt;Road = Parameter(12)&lt;BR&gt;Memo = Parameter(13)&lt;/P&gt;
&lt;P&gt;TelCnt = UBound(Tel, 2)&lt;/P&gt;
&lt;P&gt;SQLTXT2 = "INSERT INTO StudentMain (StudyID, YYYY, Name, Birthday, Father, Mother, ClassID, PostNo, City, Area, Road, [Memo]) VALUES ('" &amp;amp; StudyID &amp;amp; "', '" &amp;amp; YYYY &amp;amp; "', '" &amp;amp; SName &amp;amp; "', '" &amp;amp; Birthday &amp;amp; "', '" &amp;amp; Father &amp;amp; "', '" &amp;amp; Mother &amp;amp; "', " &amp;amp; ClassID &amp;amp; ", '" &amp;amp; PostNo &amp;amp; "', '" &amp;amp; City &amp;amp; "', '" &amp;amp; Area &amp;amp; "', '" &amp;amp; Road &amp;amp; "', '" &amp;amp; Memo &amp;amp; "')"&lt;BR&gt;Conn.Execute SQLTXT2&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&amp;#8216;***************************************************************&lt;BR&gt;&amp;#8216;** 此部份【多筆維護】&lt;BR&gt;&amp;#8216;***************************************************************&lt;BR&gt;For y = 1 To TelCnt&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TelName = Tel(1, y)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TelNo = Tel(2, y)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SQLTXT3 = "INSERT INTO StudentTel (StudyID, TelName, TelNo) VALUES ('" &amp;amp; StudyID &amp;amp; "', '" &amp;amp; TelName &amp;amp; "', '" &amp;amp; TelNo &amp;amp; "')"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; conn.Execute SQLTXT3&lt;BR&gt;Next y&lt;BR&gt;&lt;/P&gt;&lt;img src ="http://blog.blueshop.com.tw/topcat/aggbug/11361.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>topcat</dc:creator><title>VB中半形轉全形方法 </title><link>http://blog.blueshop.com.tw/topcat/archive/2005/08/08/11360.aspx</link><pubDate>Mon, 08 Aug 2005 18:36:00 GMT</pubDate><guid>http://blog.blueshop.com.tw/topcat/archive/2005/08/08/11360.aspx</guid><wfw:comment>http://blog.blueshop.com.tw/topcat/comments/11360.aspx</wfw:comment><comments>http://blog.blueshop.com.tw/topcat/archive/2005/08/08/11360.aspx#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://blog.blueshop.com.tw/topcat/comments/commentRss/11360.aspx</wfw:commentRss><trackback:ping>http://blog.blueshop.com.tw/topcat/services/trackbacks/11360.aspx</trackback:ping><description>StrConv(string, conversion, LCID)&lt;BR&gt;半形轉全形：vbWide&lt;BR&gt;全形轉半形：vbNarrow&lt;BR&gt;TT=StrConv("abcd123",vbWide)&lt;BR&gt;==&amp;gt;TT="ａｂｃｄ１２３"&lt;img src ="http://blog.blueshop.com.tw/topcat/aggbug/11360.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>