工作宏腳本
A. 求討論宏和腳本有什麼區別
腳本(script)是使用一種特定的描述性語言,依據一定的格式編寫的可執行文件,又稱作宏或批處理文件。腳本通常可以由應用程序臨時調用並執行。
B. 在Excel的實際應用中,請問:1.怎樣編寫「宏」代碼2.怎樣編寫「腳本」代碼
樓上的回答很好。當然有相應的書,書店有,網上也能搜索到。
我特別要說的第一點是:VBA本身的幫助系統非常全面,我記性不好,幾乎每次寫VBA的時候都要查一下手冊。
第二點,許多詳細的語句是可以通過錄制宏來得到例子代碼,其實我們要寫的許多腳本是可以錄制的,然後修改一下,比如用for或者while寫個循環來往復做。
VBA的語法基本上和VB差不多,只要知道一些EXCEL的對象結構就好編程,下面是我寫的一個例子代碼,本程序是我工作需要的一個任務抽象出來的:把基層公司上報的多個EXCEL文件裡面某個表的內容串起來,本來也可以手工去復制粘貼,但是分公司數十個,個別公司更新數據的時候很麻煩,你看看,可以對「宏」有個直觀的認識:
PrivateSubCommandButton1_Click()
IfCells(1,1)<>"結果:"Then
Cells(1,2)="A1的內容是否被修改,程序不敢貿然轉換!"
ExitSub
EndIf
ForEachwInWorkbooks
Ifw.Name=Cells(6,2)Then
Cells(1,2)="先關閉要導入的文件,如果是本文件名字與要導入的相同,請關閉後充命名再打開!"
ExitSub
EndIf
Nextw
IfMsgBox("程序無法判斷是否重復導入,請慎重選擇!",vbYesNo,"警告")<>vbYesThenExitSub
Cells(1,2)="開始轉換,耐心等待。。。"
'定位本表的指定工作薄到變數target_sheet裡面
ForEachtarget_sheetInSheets
Iftarget_sheet.Name=Cells(2,2)ThenExitFor
Nexttarget_sheet
Iftarget_sheet.Name<>Cells(2,2)Then
Cells(1,2)="本工作薄裡面沒有找到指定的工作表["&Cells(2,2)&"]。"
EndIf
'找到本工作薄指定工作表的最後一行
k=Cells(3,2)
Whiletarget_sheet.Cells(k,1)<>""Ortarget_sheet.Cells(k,2)<>""Ortarget_sheet.Cells(k,3)<>""
k=k+1
Wend
i=7
ok_list=""
WhileCells(i,3)<>""
IfCells(i,3)="1"Then
'f=MsgBox(Cells(i,2),vbYesNo,"即將轉換的文件。。。")
st=Dir(Cells(i,2))
Ifst=""Then
Cells(1,2)="文件["&Cells(i,2)&"]不存在,轉換終止"
ExitSub
EndIf
'打開文件,打開後ActiveWorkbook指向新的工作薄
Workbooks.OpenCells(i,2)
'定位新打開的工作薄
'ForEachnew_bookInWorkbooks
'Ifnew_book.Name=Cells(i,2)ThenExitFor
'Nextnew_book
'檢測工作表是否存在
ForEachsource_sheetInActiveWorkbook.Sheets
Ifsource_sheet.Name=Cells(2,2)ThenExitFor
Nextsource_sheet
Ifsource_sheet.Name<>Cells(2,2)Then
ActiveWorkbook.Close
Cells(1,2)="文件["&Cells(i,2)&"]中不存在指定的工作表["&Cells(2,2)&"],轉換終止"
ExitSub
EndIf
'循環導入所有行
j=Cells(3,2)
Whilesource_sheet.Cells(j,1)<>""Orsource_sheet.Cells(j,2)<>""Orsource_sheet.Cells(j,3)<>""
'導入一行
source_sheet.Rows(j).Copytarget_sheet.Rows(k)
'Forx=1ToCells(4,2)
'target_sheet.Cells(k,x)=source_sheet.Cells(j,x)
'Nextx
j=j+1
k=k+1
Wend
ActiveWorkbook.Close
Ifok_list=""Then
ok_list=Cells(i,1)
Else
ok_list=ok_list&"、"&Cells(i,1)
EndIf
Cells(i,3)=0
Cells(i,4)="√"
EndIf
i=i+1
Wend
Cells(1,2)="恭喜你,本次轉換完成:"&ok_list
EndSub
C. 腳本怎麼做
如果你看到的腳本是一段語句,你可以把它復制下來,然後打開按鍵精靈,點〔增加〕會打開腳本編輯器,在編輯區域(右下空白的地方)的上面一點有〔普通〕和〔源文件〕兩個按鈕,點〔源文件〕,然後把你復制下來的語句粘貼到下面編輯區。
後設定好上面的〔腳本描述〕、〔啟動熱鍵〕、〔中止熱鍵〕和〔循環〕,然後點保存,好了以後退出來就可以在按鍵精靈的主界面看到你剛才新建的腳本了,在〔有效〕一欄打上勾就可以用了。
腳本簡單地說就是一條條的文字命令,這些文字命令是可以看到的(如可以用記事本打開查看、編輯),腳本程序在執行時,是由系統的一個解釋器,將其一條條的翻譯成機器可識別的指令,並按程序順序執行。因為腳本在執行時多了一道翻譯的過程,所以它比二進製程序執行效率要稍低一些。
腳本(Script),就是含有bind和alias等命令的集合,你可以把這個集合存為一個獨立的文件然後在需要的時候執行,這樣就可以方便你在CS中的使用。腳本可以存為後綴名為.cfg的文件放在cstrike文件夾下,執行時在控制台輸入:exec(腳本文件名).cfg即可。
腳本語言是為了縮短傳統的編寫-編譯-鏈接-運行(edit-compile-link-run)過程而創建的計算機編程語言。 它的命名起源於一個腳本「screenplay」,每次運行都會使對話框逐字重復。早期的腳本語言經常被稱為批量處理語言或工作控制語言。
一個腳本通常是解釋執行而非編譯。腳本語言通常都有簡單、易學、易用的特性,目的就是希望能讓程序員快速完成程序的編寫工作。而宏語言則可視為腳本語言的分支,兩者也有實質上的相同之處。
D. 宏和腳本是同一個概念嗎那它們是什麼可以理解為一些大軟體中的附屬小軟體嗎
不是,宏是一個通稱,一般一組批處理的過程就可以叫宏,這個取決於軟體,比如有些軟體可以錄制鍵盤的操作或者滑鼠的操作過程,就可以叫鍵盤宏或者滑鼠宏,錄制好了還可以回放,這些並不是腳本的范圍。
至於腳本,一般也是泛指那些能以字元形式表現出來的的代碼,很多時候,腳本可以做語言代碼來講,比如說一段javascript的代碼,你也可以說它是一段javascript腳本。其它的比如批處理bat,也可以叫批處理腳本等等。
這樣來看的話,宏和腳本其實有時候可以是同一樣東西,比如office中的vba,它可以重復播放,也是字元形式的代碼。你可以叫它vba宏,也能叫vba腳本。
至於大軟體中的小軟體,如果是能獨立運行的,那就是獨立的程序,如果不能單獨運行,並且用戶能按需要自行添加修改的,那一般會被叫做擴展或者組件或者插件(比如說firefox中的擴展,或者ps中的濾鏡)
E. WORD中的宏是怎麼用一些基本的功能怎麼用,一般都用他做什麼
宏的一些典型應用:
1、加速日常編輯和格式設置
2、組合多個命令,例如插入具有指定尺寸和邊框、指定行數和列數的表格
3、使對話框中的選項更易於訪問
4、自動執行一系列復雜的任務
5、Word 提供兩種方法來創建宏:宏錄制器和 Visual Basic 編輯器 。
宏是一個批量處理程序命令,正確地運用它可以提高工作效率。微軟的office軟體允許用戶自己編寫,叫VBA的腳本來增加其靈活性,進一步擴充它的能力。如完成一個一打開word文件同時要打開某個文件的功能,必須要自己編寫一段稱之為宏的腳本。
(5)工作宏腳本擴展閱讀:
VBA 可以訪問許多操作系統函數並支持文檔打開時自動執行宏。這使得用這種語言寫計算機病毒成為可能。1990年代中後期,宏病毒成為了最流行的計算機病毒類型之一。其它的包括宏語言的項目,故意從其宏語言中排除了一些功能(如:自動執行)以避免破壞程序。然而,這一特性在很多事務中受到歡迎。
F. Excel表格單元格格式設置語法,以及宏腳本問題。
在工作表名稱上點滑鼠右鍵,選查看代碼,在彈出的VBA編輯窗口裡粘貼下面的代碼,關閉VBA窗口,在工作表裡按ALT+F8選中執行.
Sub 格式()
For Each rng In Range("A:A")
If rng <> "" Then rng.Value = Format(rng, "@@@@@@@@@@@ @@@@ @@@@ @@@@ @")
Next
End Sub
G. excel宏腳本問題
set ws=createobject("wscript.shell")
path=ws.currentdirectory
set fso=createobject("scripting.filesystemobject")
set folder=fso.getfolder(path)
set files=folder.files
for each file in files
if right(file,3)="xls" then call excel(file)
next
msgbox "操作成功!",48+4096,"系統提示"
sub excel(a)
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open(a)
intRow = 1
Do Until objExcel.Cells(intRow,1).Value = ""
h= objExcel.Cells(intRow, 1).Value
objExcel.Cells(intRow, 2).Value=left(h,3)
objExcel.Cells(intRow, 3).Value=mid(h,4,2)
objExcel.Cells(intRow, 4).Value=right(h,2)
intRow = intRow + 1
Loop
objExcel.ActiveWorkbook.Save '保存
objExcel.Quit
end sub
把上面的內容保存成VBS文件,之後把它復制到EXCEL文檔的目錄下,雙擊運行即可,連宏也不用了一個文件搞定了。
(強烈建議:請務必在測試後使用!)
已經修改後,發給你了,查收一下。 :)
H. 腳本製作教程
按鍵精靈就是一個動作錄像器,它能夠把你的電腦動作給記錄下來,然後進行重放,而錄制下來的動作就是腳本,今天要講的教程非常簡單,只需點點滑鼠就能製作完成。
製作按鍵精靈腳本
按鍵精靈腳本製作,支持多種腳本功能語句,包括鍵盤按鍵動作、滑鼠點擊動作、滑鼠移動動作、控制動作、輸入字元串動作、延遲動作等動作循環:每個動作都可以進行循環,你可以定義熱鍵中止動作的循環,也可以自己定義循環的次數或者循環的時間其他特性:所有的熱鍵都可以對指定的窗口有效,這樣就不會出現切換了窗口還自動執行動作的情況;每個動作都生成一個腳本文件,高手可以自己編輯這個文件,實現功能強大的宏鍵。
會用腳本之後,您一定希望知道這個腳本是如何製作出來的吧?下面我們就一步步介紹滑鼠連點腳本的製作方法。
第一步:新建腳本,進入腳本編輯器
點擊上方工具欄的新建按鈕,就可以新建一個腳本。
第二步:插入命令,實現滑鼠左鍵點擊
在編輯器左側的基本命令面板找到「滑鼠命令」,展開這個面板之後,我們會看到滑鼠動作的命令,我們選擇「左鍵單擊」,執行次數1次,然後按下「插入」按鈕,就可以在右邊的腳本編輯界面里看到「左鍵單擊」這條命令!
第三步:設置腳本,反復點擊
我們希望這個腳本能夠反復的自動操作,也就是反復執行「左鍵單擊」這個動作,這就需要在腳本屬性里進行設置了,如圖9所示,將腳本循環設置為「循環到按中止鍵為止」
第四步:保存腳本,盡情享用
腳本製作成功以後就可以保存腳本使用了!我們先把腳本描述改為「我的左鍵連點器」,然後點擊「保存退出」,這樣腳本就製作成功了。
調試按鍵精靈腳本
腳本調試熱鍵:
執行熱鍵:
腳本的啟動熱鍵
暫停/繼續熱鍵:Pause
停止熱鍵:腳本的中止熱鍵
單步調試:ScrollLock
斷點功能:
說明:腳本運行到設置斷點的位置會自動暫停,利用斷點功能可以有效的查看當前腳本執行的狀況。
設置斷點:選中某行腳本,單擊滑鼠右鍵,即可插入斷點,在設置了斷點的位置單擊右鍵,再次選擇「設置斷點」即可取消斷點。
變數查看:
說明:可以查看變數當前的值,一般是配合斷點功能使用。
使用方法:在變數查看窗口輸入變數名,腳本調試過程中利用斷點暫停腳本後即可看到變數的值。
調試信息:
說明:使用TracePrint命令即可輸出調試信息。
舉例:TracePrint
x
即可輸出變數x的值。
使用按鍵精靈腳本
按鍵精靈的主界面分別由「工具欄」、「腳本顯示區」、「腳本屬性區」三個部分組成。
按鍵精靈主界面清爽簡潔,一目瞭然。最值得稱道的是他內置了35個常用的腳本,本文既然是為了幫助網遊玩家學會製作腳本,那我們就先進入「網路游戲」腳本分類吧!
在網路游戲分類里我們能看到10個腳本,其中最簡單也最有用的應該屬「滑鼠左鍵連點」,就讓我們看看這個腳本到底是如何工作的。
第一步:選中腳本
選中「滑鼠左鍵連點」這個腳本後,在腳本屬性里列出了這個腳本的一些基本信息。
第二步:啟動腳本
在腳本屬性中,我們看到啟動熱鍵是F10,也就是說按下F10熱鍵,就可以啟動當前的腳本。
只要兩步,您就會發現自己的滑鼠自動開始點擊左鍵,是不是非常神奇?只要您按下中止熱鍵,腳本就會停止,按鍵精靈就是這么忠實的一個好幫手。
任務易為自由職業工作者尋找和分析任務項目,並構建以任務為主題的社交平台。
I. 如何能夠自動執行EXCEL宏腳本
Private Sub Workbook_Open()
End Sub
上面的過程可能不是您需要的。
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
End Sub
具體看您需要。