原创 一個有趣的C#正則替換問題

9.1(2) ------ 9.119(3).5(1) ----- 999.589(2).7 ------ 899.7 即把括號替換成括號前一數字的N次 原帖見http://topic.csdn.net/u/20100317/19/e25

原创 VSTO中捕捉窗口縮放的事件

    private void ThisWorkbook_Startup(object sender, System.EventArgs e) { this.WindowResize += new

原创 不打開另一個工作簿取它裏面的工作表名

Sub test() Dim cn As Object, cat As Object, tbl As Object, str$ Set cn = CreateObject("ADODB.Connection") S

原创 用VBA創建EXCEL表的桌面快捷

Sub CreatShortCut() Dim WSHShell Set WSHShell = CreateObject("WScript.Shell") Dim MyShortcut, DesktopPath

原创 Excel:一個連接文本的簡單的方法

以前,連接文本用的是"CONCATENATE"函數或者“&”,不過在有許多單元格時候一個個點很麻煩,所以一般都我是自編一個VBA循環來連接。 前些天,看到論壇上某人發現了一個函數的新用法,“PHONETIC”函數可以快速的連接,只需=P

原创 列出指定文件夾中的子文件夾和文件

VBA列出文件夾中所有的子文件夾   Sub ShowFolderList() Dim fso As Object, oFolder As Object Dim oFolderArray As Object, f As O

原创 爲什麼有些Office對象的事件無法使用

今天碰到了個問題,發現無法使用某些對象事件,+=後雙TAB出不來。四處找原因,GOOGLE、MSDN上翻了許久,終於找到了原因和解決方法。原因:寫了一個同名的方法,而VSTO處理規則應該是方法>事件,所以有了同名的方法後事件就無法使用了。

原创 EXCEL裏常用的幾個正則表達式

"^/d+$"  //非負整數(正整數 + 0) "^[0-9]*[1-9][0-9]*$"  //正整數 "^((-/d+)|(0+))$"  //非正整數(負整數 + 0) "^-[0-9]*[1-9][0-9]*$"  //負整數

原创 刪除整篇Word文檔中的圖文框

EH上看到有人問這個問題,其實只需要一句代碼就行 立即框輸入以下代碼後回車 For Each x In ActiveDocument.Frames: x.Delete: Next       作者:laoyebin(Paladin.la

原创 123456789四則運算

代碼說明:在123456789或987654321中插入+-*/四則符號來算出一個固定的值。asc爲true時是123456789,反之爲987654321。 123456789算100,C#下時間爲15秒,VBA下爲56秒,快了3/4。

原创 禁止在EXCEL中CTRL+C的複製快捷鍵

Private Sub Workbook_Open() Application.OnKey "^{c}", "" End Sub Private Sub Workbook_Deactivate() Application.

原创 取單元格紅色字體的VBA自定義函數

Function GetColorChar(Rng As Range) Application.Volatile True Dim i%, str$ For i = 1 To Len(Rng) If

原创 VSTO 隱藏EXCEL2007的菜單欄

  private void button1_Click(object sender, EventArgs e) { Application.ExecuteExcel4Macro("show.toolbar(/"ribbon/"

原创 VSTO在EXCEL添加VBA模塊代碼

private void ThisWorkbook_Startup(object sender, System.EventArgs e) { string sCode = "Sub VBAMacro()/r/n" + "MsgBo

原创 獲取所選取表名和區域的名稱

private void ThisWorkbook_Startup(object sender, System.EventArgs e) { this.SheetSelectionC