① 在VBA中,怎样打开或者调用另一个EXCEL文件
ThisWorkbook属性可以返回一个 Workbook 对象,该对象代表当前宏代码运行的工作簿,而Path属性可以返回文件的路径这样就可以用在Workbook_Open事件中加入下面的代码打开“报表.xls”了。
Private Sub Workbook_Open()
Dim FN As String
FN = ThisWorkbook.Path & "\报表.xls"
If Len(Dir(FN)) = 0 Then
MsgBox "找不到文件:" & vbCrLf & FN, vbExclamation, "错误"
Else
Workbooks.Open Filename:=ThisWorkbook.Path & "\报表.xls"
End If
End Sub
而要打开一个文件夹里所有的文件,就需要用到FileSystemObject 对象,下面这个例子是在一个新工作表中列出指定文件夹内所有xls文件的实例:
Sub ShowAllXlsFile()
Dim GetFile As String, GetPFN As String, GetExt As String
Dim Fso, PF, AF, FN, i, j
GetFile = Application.GetOpenFilename("Excel 文件 (*.xls), *.xls", , "请选择文件夹所在的任意一文件")
If CStr(GetFile) <> "False" Then
Sheets.Add
i = 0
j = 0
Set Fso = CreateObject("Scripting.FileSystemObject")
GetPF = Fso.GetParentFolderName(GetFile) & "\"
Set PF = Fso.GetFolder(GetPF)
Set AF = PF.Files
For Each FN In AF
j = j + 1
GetExt = Fso.GetExtensionName(FN)
If GetExt = "xls" Then
i = i + 1
Cells(i, 1) = FN.Name
End If
Next
MsgBox "总计所有类型文件" & j & "个!" & vbCrLf & "总计Excel文件" & i & "个!"
Else
MsgBox "没有选择文件夹!"
End If
End Sub
② EXCEL如何使用VBA打开相对路径下的文件或文件夹
打开文件如下:
Workbooks.Open ("C:对账单对帐单.xlsx")
这里你可以把“C:对账单”换成你的绝对路径,
你可以用回:a = ThisWorkbook.Path
a = ThisWorkbook.Path
Workbooks.Open ("" & a & "&" "&对帐单.xlsx")
来获取你当答前表的绝对路径,然后再打开,因为不知道你的具体情况,如果有问题可以hai我
如果当前文件夹下还有A文件夹可以用代码:
Workbooks.Open ("" & a & "&" A"&b.xlsx")
③ VBA如何获取当前EXCEL文件的路径
1、首先打来开Excel数据表,在开发自工具中打开VBA编辑器。
④ excel在vba中如何用单元格指定路径,如:sheet1中在A1输入路径或者路径文件,vba中如何读取该路径
不知道楼主想表达啥,路径值在代码里都是字符值,一个路径就是一个字符串。比如读取你的excel文件路径:
sub test()
a=thisworkbook.path
end sub
其中a就是一字符串,也即是你的excel文件路径。
再比如你想打开D:\123\456.xls (d盘的123文件夹的456.xls文件)
sub test1()
set book=workbooks.open("D:\123\456.xls")
end sub
其中D:\123\456.xls 就是一字符串。
希望能够帮到你。
⑤ 你好侯哥:用VBA 编写一段可以指定用户、指定路径才能打开EXCEL文件方便分享一下吗
可以在工作簿上写Open事件代码,方法是按ALT+F11、CTRL+R,双击ThisWorkbook粘贴程序,最后如下图:
程序代码:
Private Sub Workbook_Open()
If Me.FullName <> "c:Temp mp.xlsm" Or Application.UserName <> "admin" Then Me.Close
End Sub
程序中的文件路径和用户名请自行修改。
⑥ 鍦╡xcel琛ㄦ牸涓浣跨敤vba鍑芥暟鎵撳紑宸ヤ綔钖
excel涓鍙浠ヤ娇鐢╲ba鏉ユ墦寮宸ヤ綔钖勭殑锛屼笅闈㈠皬缂栧氨涓哄ぇ瀹惰︾粏浠嬬粛涓涓嬶紝鏈夐渶瑕佺殑鏈嬪弸鍙浠ュ弬鑰冩湰鏂囷紒
姝ラ
1銆侀栧厛鎴戜滑鎵撳紑涓涓宸ヤ綔鏍疯〃浣滀负渚嬪瓙銆
2銆佹垜浠浣跨敤alt+f11缁勫悎蹇鎹烽敭杩涘叆vbe缂栬緫鍣锛屾彃鍏ヤ竴涓鏂扮殑妯″潡锛屽苟鍦ㄦā鍧椾腑杈撳叆浠ヤ笅浠g爜锛
Sub openWorkbook1()
Workbooks.Open 闇鎵撳紑鏂囦欢鐨勮矾寰刓鏂囦欢鍚
End Sub
3銆佺湅浠g爜鍐欑殑寰堟槑鐧戒簡锛屾瘮濡傛垜瑕佹墦寮妗岄潰涓婄殑涓涓宸ヤ綔钖勶紝閭d箞鎴戜滑灏辨槸杈撳叆鏂囦欢鐨勮矾寰勶紝鏌ユ壘璺寰勭殑鏂瑰紡鏄鍦ㄦ枃浠朵笂鐐瑰嚮榧犳爣鍙抽敭锛岀劧鍚庨夋嫨灞炴ц彍鍗曘傛爣娉ㄧ殑浣嶇疆澶勫嵆鏂囦欢鐨勮矾寰勩
4銆佺劧鍚庝娇鐢ㄦ枩鏉犲垎闅旀枃浠跺悕銆傛枃浠跺悕鍗冲浘鐗囦腑鎸囩ず鎵鍦ㄧ殑鍦版柟銆傛枃浠跺悕鍜屾枃浠惰矾寰勯兘鍙浠ヤ娇鐢ㄩ紶鏍囬夋嫨骞跺嶅埗绮樿创銆
5銆佽緭鍏ュ畬鏁寸殑浠g爜
Workbooks.Open C:UsersjohnDesktop鏂板缓 Microsoft Excel 宸ヤ綔琛.xlsx
鐒跺悗杩愯岋紝鍒欏彲浠ユ墦寮杩欎釜宸ヤ綔钖勩傚ぇ瀹舵敞鎰忓埌鎷鍙锋槸涓嶉渶瑕佺殑锛岀洿鎺ヨ緭鍏ユ枃浠惰矾寰勫姞鍚嶇О灏卞彲浠ヤ簡銆
6銆佽繖閲岄渶瑕佹敞鎰忕殑鏄锛宱pen鏂规硶铏界劧鍙浠ユ墦寮鍏朵粬鐨勬枃浠讹紝浣嗘槸瀹冩槸灞炰簬workbooks杩欎釜瀵硅薄锛屾墍浠ユ墦寮鏂囦欢鐨勬柟寮忓皢浼氭槸浠excel宸ヤ綔钖勭殑鏂瑰紡鎵撳紑锛屾墍浠ュ彧鑳芥墦寮excel鏂囦欢锛岃屼笉鑳芥墦寮鍏朵粬鏍煎紡鐨勬枃浠躲
⑦ excel中如何用vba打开一个相对路径下的资料
先定义路径x0dx0a1.当前路径:x0dx0apath = Application.ThisWorkbook.pathx0dx0a然后,打开时,加入其余路径,和文件名。x0dx0aWorkbooks.Open filename:= _x0dx0a path & "\model\" & "book1.xls", Notify:=False x0dx0a2.同级别文件夹路径:x0dx0aSub hjs111()x0dx0at = ThisWorkbook.path '当前文件的路径x0dx0aa = Split(t, "\") '以 \ 为分割,把t 保存为数组ax0dx0apath0= Replace(t, a(UBound(a)), "") '把字符串t中的字符串(a(UBound(a))替换为空。x0dx0a 'path0 & "\B\" & "book1.xls" 这下明白了吧。x0dx0aEnd Subx0dx0ax0dx0a例如:若 t= C:\Documents and Settings\HackEr\桌面x0dx0a 则 数组a即为 元素分别为 C: Documents and Settings HackEr 桌面 的数组x0dx0a a(UBound(a) 为a(3)即 桌面,UBound(a)为 a数组的上界 3 x0dx0a Replace(t, a(UBound(a)), "") 即为 把t 中的第四个元素 桌面 替换 为空。