Excel VBA实现 通过文件名查找全路径

VBA

 

提供一组文件名,得到所有文件的相对于工程的目录(版本1.5)

 

调用bat实现

#mode con cols=15 lines=1

set fileName=%1%
set projectPath=%2%

cd %projectPath%

dir/a/s %filename%

 

Private Sub CommandButton1_Click()

'MsgBox "begin"

    'ファイル名チェック必要かどうかフラグ
    Dim fileChekFlg
    
    
    If Sheet1.Range("D10").Value = "" Then
        fileChekFlg = 1
    End If
    
    If Sheet1.Range("D10").Value <> "" Then
        fileChekFlg = 0
    End If
    
    'ファイル名チェックフラグ
    Dim flg
    flg = 0
    Dim fileNameIsNcount
    fileNameIsNcount = 0
    
    


    Dim projectAllName As String
    Call getProjectName(projectAllName)
   
    Dim index As Integer
    Dim sourceStr
    Dim resultStr

    index = 18
    sourceStr = "D"
    resultStr = "I"
    
    sourceStr = sourceStr + CStr(index)
    resultStr = resultStr + CStr(index)
    
    Do While Sheet1.Range(sourceStr).Value <> ""


        '#####################################################
        
        Dim allPath As String
        'ファイル名
        Dim fileName As String
        fileName = Sheet1.Range(sourceStr).Value
        
        
                    '#########
                    If fileChekFlg = 1 Then
                        'ファイル名チェックフラグ
                        flg = 0
                        Call fileNameCheck(fileName, flg)
                        If flg = 1 Then
                           Sheet1.Range(resultStr).Value = Trim("n件の可能性があります、抽出なし。「全パス検索」を利用してください!")
                           fileNameIsNcount = fileNameIsNcount + 1
                        End If
                     
                     End If
                    '#########
                    
        '#########
        If flg <> 1 Then
        
        Call getFileAllPath(allPath, fileName, projectAllName)

        Dim usefulPath As String
        Call getThePathWeNeed(allPath, usefulPath)
        
        '####################################################
        
        'Excelの中に表示する
        Sheet1.Range(resultStr).Value = Trim(usefulPath)
        
        End If
        '#########
        
        
        index = index + 1
        
        sourceStr = "D"
        sourceStr = sourceStr + CStr(index)
        
        resultStr = "I"
        resultStr = resultStr + CStr(index)
        
        fileName = ""
        allPath = ""
        usefulPath = ""
        
    Loop

 

        If fileNameIsNcount <> 0 Then
           Sheet1.Range("D10").Value = "例:「C:\sxz\workspace\Batch-comp1\conf\list\sequential\SSSBLC01」"
        End If

 

'MsgBox "end"

End Sub


'###########################################
'#
'# 全パスを取得する
'#
'###########################################
Sub getFileAllPath(ByRef allPath As String, ByVal fileName As String, ByVal projectAllName As String)

'工程パス
Dim projectPathStr

'パスは選択作成した
If Sheet1.Range("D10").Value = "" Then
    projectPathStr = Sheet1.Range("D3").Value + "\" + projectAllName
End If

'パス全部自分定義入力して
If Sheet1.Range("D10").Value <> "" Then
    projectPathStr = Sheet1.Range("D10").Value
End If


'bat命令
Dim cmdStr
cmdStr = "cmd /c D:\bat\getAllPathWithFileName.bat " + fileName + " " + projectPathStr

'バッチを実行する
RetVal = Shell(cmdStr)

'バッチを実行する(返却値を取得できます)
Set WshShell = CreateObject("WScript.Shell")
Set oExec = WshShell.Exec(cmdStr)
Set oStdOut = oExec.StdOut

'バッチの返却値
Dim batReturnStr

'バッチ返却値のループ開始
Do Until oStdOut.AtEndOfStream
'ほうしいの返却値を取得する。

    
    'パス含むのstr終了のIndex
    Dim endIndex
    
    '一行一行取得する
    batReturnStr = oStdOut.ReadLine
    '「 のディレクトリ」はほうしいの行の中に含むの文字です。
    '例:「 C:\sxz\workspace\comp1-PC\commonSources\jp\co\mycard\na\web\US\AAA01\blogic のディレクトリ」
    endIndex = InStr(batReturnStr, " のディレクトリ")
    
    If endIndex <> 0 Then
        allPath = Mid(batReturnStr, 1, endIndex - 1) + "\" + fileName
    End If
        
Loop
'ループ終了

End Sub


'###########################################
'#
'# The path we need
'#
'###########################################
Sub getThePathWeNeed(ByVal allPath As String, ByRef usefulPath As String)
'パスの中に「C:\flarestarAtu\workspace」 この部分を削除する
Dim indexOf_workspace

indexOf_workspace = InStr(allPath, "workspace")


'The path we need
usefulPath = Mid(allPath, indexOf_workspace + 9, Len(allPath))

usefulPath = Replace(usefulPath, "\", "/")

 

End Sub

 


'######################################
'#
'# 選択したの値対応のindexを取得する
'#
'###########################################

Sub getProjectName(ByRef name As String)

  Dim kaishyaName
  Dim projectName

  kaishyaName = Sheet1.Range("B8").Value
  projectName = Sheet1.Range("D8").Value
  
  kaishyaName = Split(kaishyaName, "_")(0)
  projectName = Split(projectName, "_")(0)
  
  
  
  Call getProjectNameWithIndex(CInt(kaishyaName), CInt(projectName), name)
  
  'MsgBox name
  

End Sub

 

 

'######################################
'#
'# 選択値より、工程名を取得する
'#
'###########################################


Sub getProjectNameWithIndex(kaishyaIndex As Integer, projectIndex As Integer, ByRef name As String)


Dim progectNames(1 To 10, 1 To 4)


progectNames(1, 1) = "comp_1_PC"
progectNames(2, 1) = "comp_2_PC"
progectNames(3, 1) = "comp_3_PC"
progectNames(4, 1) = "comp_4_PC"
progectNames(5, 1) = "comp_5_PC"
progectNames(6, 1) = "comp_6_PC"
progectNames(7, 1) = "comp_7_PC"
progectNames(8, 1) = "comp_8_PC"
progectNames(9, 1) = "comp_9_PC"
progectNames(10, 1) = "comp_10_PC"


progectNames(1, 2) = "comp_1_MB"
progectNames(2, 2) = "comp_2_MB"
progectNames(3, 2) = "comp_3_MB"
progectNames(4, 2) = "comp_4_MB"
progectNames(5, 2) = "comp_5_MB"
progectNames(6, 2) = "comp_6_MB"
progectNames(7, 2) = "comp_7_MB"
progectNames(8, 2) = "comp_8_MB"
progectNames(9, 2) = "comp_9_MB"
progectNames(10, 2) = "comp_10_MB"

progectNames(1, 3) = "comp_1_AD"
progectNames(2, 3) = "comp_2_AD"
progectNames(3, 3) = "comp_3_AD"
progectNames(4, 3) = "comp_4_AD"
progectNames(5, 3) = "comp_5_AD"
progectNames(6, 3) = "comp_6_AD"
progectNames(7, 3) = "comp_7_AD"
progectNames(8, 3) = "comp_8_AD"
progectNames(9, 3) = "comp_9_AD"
progectNames(10, 3) = "comp_10_AD"

progectNames(1, 4) = "comp_1_Batch"
progectNames(2, 4) = "comp_2_Batch"
progectNames(3, 4) = "comp_3_Batch"
progectNames(4, 4) = "comp_4_Batch"
progectNames(5, 4) = "comp_5_Batch"
progectNames(6, 4) = "comp_6_Batch"
progectNames(7, 4) = "comp_7_Batch"
progectNames(8, 4) = "comp_8_Batch"
progectNames(9, 4) = "comp_9_Batch"
progectNames(10, 4) = "comp_10_Batch"


name = progectNames(kaishyaIndex, projectIndex)

End Sub

 

'######################################
'#
'# file name check
'#
'###########################################

Sub fileNameCheck(ByVal fileName, ByRef flg)

Dim fileNames(1 To 6)

fileNames(1) = "seq-def-data.xml"
fileNames(2) = "seq-def-end.xml"
fileNames(3) = "seq-def-header.xml"
fileNames(4) = "seq-def-trailer.xml"
fileNames(5) = "seq-line-def.dtd"
fileNames(6) = "seq-line-defs.dtd"

flg = 0

For i = 1 To 6 Step 1
    If fileName = fileNames(i) Then
        flg = 1
        Exit For
    End If
Next

End Sub

 

 

核心代码 ;

==========================================

'bat命令
Dim cmdStr
cmdStr = "cmd /c D:\bat\getAllPathWithFileName.bat " + fileName + " " + projectPathStr

'バッチを実行する
RetVal = Shell(cmdStr)

'バッチを実行する(返却値を取得できます)
Set WshShell = CreateObject("WScript.Shell")
Set oExec = WshShell.Exec(cmdStr)
Set oStdOut = oExec.StdOut

==========================================

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目录 '1.函数作用:返回 Column 英文字........................9 '2.函数作用:查询某一值第num次出现的值................9 '3.函数作用:返回当个人工资薪金所得为2000元(起征点为850元)时的应纳个人所得税税额.............................10 '4.函数作用:从形如"123545ABCDE"的字符串中取出数字....11 '5.函数作用:从形如"ABCD12455EDF"的字符串中取出数字...11 '6.函数作用:按SplitType取得RangeName串值中的起始位置12 '7.函数作用:将金额数字转成中文大写....................13 '8.函数作用:计算某种税金..............................18 '9.函数作用:人民币大、小写转换........................19 '10.函数作用:查汉字区位码.............................20 '11.函数作用:把公元年转为农历.........................21 '12.函数作用:返回指定列数的列标.......................42 '13.函数作用:用指定字符替换某字符.....................43 '14.函数作用:从右边开始查找指定字符在字符串中的位置...43 '15.函数作用:从右边开始查找指定字符在字符串中的位置...44 '16.函数作用:计算工龄.................................44 '17.函数作用:计算日期差,除去星期六、星期日...........45 '18.函数作用:将英文字反转的自定函数...................46 '19.函数作用:计算个人所得税...........................46 '20.函数作用:一个能计算是否有重复单元的函数...........47 '21.数字金额转中文大写................................48 '22.函数作用:将数字转成英文...........................49 '23.函数作用:人民币大小写转换.........................52 '24.函数作用:获取区域颜色值...........................53 '25.函数作用:获取活动工作表名.........................53 '26.函数作用:获取最后一行行数.........................54 '27.函数作用:判断是否连接在线.........................54 '28.函数作用:币种转换.................................54 '29.函数作用:检验工作表是否有可打印内容...............55 '30.函数作用:查找一字符串(withinstr)在另一字符串中(findstr1)中某一次(startnum)出现时的位置,返回零表示没找到。..................................................57 '31.函数作用:增加文件路径最后的“\”符号..............58 '32.函数作用:计算所得税...............................58 '33.函数作用:从工作表第一行的标题文字以数字形式返回所在列号..................................................58 '34.函数作用:在多个工作表中查找一个范围内符合某个指定条件的项目对应指定范围加总求和..........................59 '35.函数作用:返回 Column 英文字.......................60 '36.函数作用:查找指定列名的列数.......................60 '37.函数作用:文字格式的时间(分:秒)转化为数字格式(秒)..61 '38.函数作用:将"hh:mm:ss"格式的时分秒数转换成秒数.....62 '39.函数作用:金额中文大写转数字.......................62 '40.函数作用:把角度转为度秒分、弧度等显示.............63 '41.函数作用:身份证号码侦测...........................64 '42.函数作用:显示公式.................................65 '43.函数作用:方便财务人员理帐查找.....................66 '44.函数作用:数值转换为字符地址.......................68 '45.函数作用:字符地址转换为数值.......................69 '46.函数作用:等待时间(以秒计算).....................69 '47.函数作用:得到字符串实际的长度(以单字节记).......70 '48.函数作用:18位身份证最后一位有效性验证............70 '49.函数作用:计算符合maturity condition的拆解金额....72 '50.函数作用:对多个用同一分隔符分隔的待查找元素,逐一在表区域首列内搜索,将返回选定单元格的值相加,............72 '51.函数作用:根据个人所得税(工资)反算工资数.........73 '52.函数作用:判断表是否存在...........................74 '53.函数作用:角度转弧.................................74 '54.函数作用:比较相同的字符串.........................75 '55.函数作用:对选定的数组进行排序.....................76 '56.函数作用:取得指定月份天数.........................77 '57.函数作用:排序工作表活页薄.........................77 '58.函数作用:统计数组中非重复数据个数.................78 '59.函数作用:摘取子字符串.............................79 '60.函数作用:计算20000余个汉字的笔画.................79 '61.函数作用:删除当前工作表中的部超连接.............80 '62.函数作用:取得相近数据.............................81 '63.函数作用:提取定串中汉字...........................81 '64.函数作用:搜索重复数据(选定范围)...................81 '65.函数作用:字符型转数字型...........................82 '66.函数作用:小写人民币转大写人民币...................83 '67.函数作用:取得指定月份人星期天个数.................84 '68.函数作用:侦测档案是否包含宏.......................84 '69.函数作用:获取循环参照单元格.......................85 '70.函数作用:创建桌面快捷方式.........................86 '71.函数作用:自动建立多级目录.........................86 '72.函数作用:统计经筛选后符合条件的记录条数...........87 '73.函数作用:复制单元格列高与栏宽.....................87 '74.函数作用:取消隐藏工作表(包括vba Project工程保护的)88 '75.函数作用:删除单元格自定义名称.....................88 '76.函数作用:从文件路径中取得文件名...................89 '77.函数作用:取得一个文件的扩展名.....................89 '78.函数作用:取得一个文件路径.......................90 '79.函数作用:十进制转二进制...........................90 '80.函数作用:检查一个数组是否为空.....................90 '81.函数作用:字母栏名转数字栏名.......................91 '82.函数作用:数字栏名转文字栏名.......................91 '83.函数作用:判断一件活页夹中是否还有子目录...........92 '84.函数作用:判断一个文件是否在使用中.................92 '85.函数作用:列出档案详细摘要信息.....................93 '86.函数作用:获取菜单ID编号及名称列表................93 '87.函数作用:状态列动态显示文字.......................94 '88.函数作用:取得一个文件路径2.....................94 '89.函数作用:取得一个文件路径3.....................95 '90.函数作用:取得Activecell的栏名....................95 '91.函数作用:取得单元格中指定字符前的字符.............95 '92.函数作用:前单元格指定字符前的字符颜色改成红色.....95 '93.函数作用:根据数字返回对应的字母列号...............96 '94.函数作用:取工作表名字.............................96 '95.函数作用:取消所有隐藏的宏表.......................97 '96.函数作用:导出VBA Project代码.....................97 '97.函数作用:导入VBA Project代码.....................97 '98.函数作用:取得汉字拼音的第一个字母.................98 '99.函数作用:获取两栏中相同的数据....................100 '100.函数作用:选取当前工作表中公式出错的单元格﹐关返回出错个数...............................................101 '101.函数作用:将工作表中最后一列作为页脚打印在每一面页尾101 '102.函数作用:获取vbproject引用项目.................102 '103.函数作用:移除Excel工作表中的外部数据连接.......103 '104.函数作用:将选择定单元格作成镜像图片.............103 '105.函数作用:反选择单元格中的数.....................105 '106.函数作用:在Excel中加入一个量度尺(以厘米为单位).106 '107.函数作用:在Excel中加入一个量度尺(以寸为单位)...109 '108.函数作用:取得一个短文件名的长文件名.............111 '109.函数作用:取得临时文件名.........................112 '110.函数作用:等用Shell调用的程序执行完成后再执行其它程序...................................................112 '111.函数作用:将Mouse显示成动画.....................113 '112.函数作用:限制Mouse移动范围.....................114 '113.函数作用:取得当前激活窗品句柄及标题.............114 '114.函数作用:取得屏幕分辨率.........................115 '115.函数作用:自动建立多级目录.......................115 '116.函数作用:将文件长度置零.........................116 '117.函数作用:读取WIN9X / Me共享文件夹密码..........116 '118.函数作用:取得预设的打印机及设置预设的打印机.....119 '119.函数作用:获得当前操作系统的打印机个数及检测打印是否存在.................................................120 '120.函数作用:枚举打印机名称清单.....................120 '121.函数作用:读取网络服务器当前时间.................122 '122.函数作用:下载文件到指定目录.....................123 '123.函数作用:自动映射网络驱动器.....................124 '124.函数作用:自动断开网络驱动器.....................125 '125.函数作用:连接选定单元格中的内容.................125 '126.函数作用:获取一个单元格中有指定字体颜色部份数据.126 '127.函数作用:对指定文件加XLS加密...................126 '128.函数作用:选择指定范围内使用了填充颜色的单元格...127 '129.函数作用:在特定的区域内查找文本,返回值是包含查找文本的单元格...........................................127 '130.函数作用:返回特定区域中最大值的地址.............128 '131.函数作用:删除表格中使用范围内的所有空白单元格...129 '132.函数作用:返回数组中有多少个指定的字符串.........129 '133.函数作用:返回当前工作表中引用了指定的单元的地址.130 '134.函数作用:获取Excel中字型列表...................131 '135.函数作用:获取一个字符串中有多少个数字字符.......131 '136.函数作用:在Excel中对多列进行填充...............131 '137.函数作用:对选定的范围进行数据填充(忽略单元格格式)132 '138.函数作用:VBA Project加密及解密.................132 '139.函数作用:列出收藏夹中的网址.....................133 '140.函数作用:计算两个日期之间相隔的年份,比如年龄,工龄等.可计算从1000年01月01日起的日期....................134 '141.函数作用:从字符串提取纯数字.....................135 '142.函数作用:将一个数组按升序排列...................136 '143.函数作用:将一个数组按降序排列...................137 '144.函数作用:删除空白列.............................137 '145.函数作用:判断工作表是否为空白...................138 '146.函数作用:将数据按类分到不同工作薄...............138 '147.函数作用:单元格内数据排序.......................139 '148.函数作用:对多栏排序.............................140 '149.函数作用:返回计算公式的值 [,值的计算公式].......140 '150.函数作用:把第一列=某个值对应的第二列的内容连在一起,并用、隔开...........................................141 '151.函数作用:取得系统使用模式.......................142 '152.函数作用:计算机注销/关机/重启...................142 '153.函数作用:更改计算机名称.........................143 '154.函数作用:从n位开始取出字符串中的汉字、英文字母、数字...................................................143 '155.函数作用:在指定列中寻找含有指定字符串的单元格,并将符合条件的单元格标为红色,并将对应的下一列单元格赋值为1。.....................................................144 '156.函数作用:清除字符串中的空格.....................145 '157.函数作用:查找合并单元格位置.....................145 '158.函数作用:阴阳历转换和阴阳历生日.................145 '159.函数作用:利用数组和Substitute来替换某字符......149 '160.函数作用:一键创建斜线表头.......................150 '161.函数作用:自动获取指定月的工作日.................151
第1章 Range(单元格)对象 10 技巧1 单元格的引用方法 10 1-1 使用Range属性 10 1-2 使用Cells属性 11 1-3 使用快捷记号 11 1-4 使用Offset属性 12 1-5 使用Resize属性 12 1-6 使用Union方法 12 1-7 使用UsedRange属性 12 1-8 使用CurrentRegion属性 12 技巧2 选定单元格区域的方法 12 2-1 使用Select方法 12 2-2 使用Activate方法 12 2-3 使用Goto方法 12 技巧3 获得指定行、列中的最后一个非空单元格 12 技巧4 定位单元格 12 技巧5 查找单元格 12 5-1 使用Find方法 12 5-2 使用Like运算符 12 技巧6 替换单元格内字符串 12 技巧7 复制单元格区域 12 技巧8 仅复制数值到另一区域 12 8-1 使用选择性粘贴 12 8-2 直接赋值的方法 12 技巧9 单元格自动进入编辑状态 12 技巧10 禁用单元格拖放功能 12 技巧11 单元格格式操作 12 11-1 单元格字体格式设置 12 11-2 设置单元格内部格式 12 11-3 为单元格区域添加边框 12 11-4 灵活设置单元格的行高列宽 12 技巧12 单元格中的数据有效性 12 12-1 在单元格中建立数据有效性 12 12-2 判断单元格是否存在数据有效性 12 12-3 动态的数据有效性 12 12-4 自动展开数据有效性下拉列表 12 技巧13 单元格中的公式 12 13-1 在单元格中写入公式 12 13-2 检查单元格是否含有公式 12 13-3 判断单元格公式是否存在错误 12 13-4 取得单元格中公式的引用单元格 12 13-5 将单元格中的公式转换为数值 12 技巧14 单元格中的批注 12 14-1 判断单元格是否存在批注 12 14-2 为单元格添加批注 12 14-3 删除单元格中的批注 12 技巧15 合并单元格操作 12 15-1 判断单元格区域是否存在合并单元格 12 15-2 合并单元格时连接每个单元格的文本 12 15-3 合并内容相同的连续单元格 12 15-4 取消合并单元格时在每个单元格中保留内容 12 技巧16 高亮显示单元格区域 12 技巧17 双击被保护单元格时不显示提示消息框 12 技巧18 重新计算工作表指定区域 12 技巧19 录入数据后单元格自动保护 12 技巧20 工作表事件Target参数的使用方法 12 20-1 使用单元格的Address 属性 12 20-2 使用Column属性和Row属性 12 20-3 使用Intersect方法 12 第2章 Worksheet(工作表)对象 12 技巧21 引用工作表的方式 12 21-1 使用工作表的名称 12 21-2 使用工作表的索引号 12 21-3 使用工作表的代码名称 12 21-4 使用ActiveSheet属性引用活动工作表 12 技巧22 选择工作表的方法 12 技巧23 遍历工作表的方法 12 23-1 使用For...Next 语句 12 23-2 使用For Each...Next 语句 12 技巧24 在工作表中上下翻页 12 技巧25 工作表的添加与删除 12 技巧26 禁止删除指定工作表 12 技巧27 自动建立工作表目录 12 技巧28 工作表的深度隐藏 12 技巧29 防止更改工作表的名称 12 技巧30 工作表中一次插入多行 12 技巧31 删除工作表中的空行 12 技巧32 删除工作表的重复行 12 技巧33 定位删除特定内容所在的行 12 技巧34 判断是否选中整行 12 技巧35 限制工作表的滚动区域 12 技巧36 复制自动筛选后的数据区域 12 技巧37 使用高级筛选获得不重复记录 12 技巧38 工作表的保护与解除保护 12 技巧39 奇偶页打印 12 第3章 Wordbook(工作簿)对象 12 技巧40 工作簿的引用方法 12 40-1 使用工作簿的名称 12 40-2 使用工作簿的索引号 12 40-3 使用ThisWorkbook 12 40-4 使用ActiveWorkbook 12 技巧41 新建工作簿文件 12 技巧42 打开指定的工作簿 12 技巧43 判断指定工作簿是否打开 12 43-1 遍历Workbooks集合方法 12 43-2 错误处理方法 12 技巧44 禁用宏则关闭工作簿 12 技巧45 关闭工作簿不显示保存对话框 12 45-1 使用Close方法关闭工作簿 12 45-2 单击工作簿关闭按钮关闭工作簿 12 技巧46 禁用工作簿的关闭按钮 12 技巧47 保存工作簿的方法 12 47-1 使用Save方法 12 47-2 直接保存为另一文件名 12 47-3 保存工作簿副本 12 技巧48 保存指定工作表为工作簿文件 12 技巧49 打印预览时不触发事件 12 技巧50 设置工作簿文档属性信息 12 技巧51 不打开工作簿取得其他工作簿数据 12 51-1 使用公式 12 51-2 使用GetObject函数 12 51-3 隐藏Application对象 12 51-4 使用ExecuteExcel4Macro方法 12 51-5 使用SQL连接 12 技巧52 返回窗口的可视区域地址 12 第4章 Shape(图形)、Chart(图表)对象 12 技巧53 在工作表中添加图形 12 技巧54 导出工作表中的图片 12 技巧55 在工作表中添加艺术字 12 技巧56 遍历工作表中的图形 12 技巧57 移动、旋转图片 12 技巧58 工作表中自动插入图片 12 技巧59 固定工作表中图形的位置 12 技巧60 使用VBA自动生成图表 12 技巧61 使用独立窗口显示图表 12 技巧62 导出工作表中的图表 12 技巧63 多图表制作 12 第5章 Application对象 12 技巧64 取得Excel版本信息 12 技巧65 取得当前用户名称 12 技巧66 Excel中的“定时器” 12 技巧67 设置活动打印机的名称 12 技巧68 屏蔽、改变组合键的功能 12 技巧69 设置Excel窗口标题栏 12 技巧70 自定义Excel状态栏 12 技巧71 灵活退出Excel 12 技巧72 隐藏Excel主窗口 12 72-1 设置Application对象的Visible属性 12 72-2 将窗口移出屏幕 12 72-3 设置工作簿作为加载宏运行 12 第6章 使用对话框 12 技巧73 使用Msgbox函数 12 73-1 显示简单的提示信息 12 73-2 定制个性化的消息框 12 73-3 获得消息框的返回值 12 73-4 在消息框中排版 12 73-5 对齐消息框中显示的信息 12 技巧74 自动关闭的消息框 12 74-1 使用WshShell.Popup方法显示消息框 12 74-2 使用API函数显示消息框 12 技巧75 使用InputBox函数 12 75-1 简单的数据输入 12 75-2 使用对话框输入密码 12 技巧76 使用InputBox方法 12 76-1 输入指定类型的数据 12 76-2 获得单元格区域地址 12 技巧77 内置对话框 12 77-1 调用内置的对话框 12 77-2 获取选定文件文件名 12 77-3 使用“另存为”对话框 12 技巧78 调用操作系统“关于”对话框 12 第7章 菜单和工具栏 12 技巧79 在菜单中添加菜单项 12 技巧80 在菜单栏指定位置添加菜单 12 技巧81 屏蔽和删除工作表菜单 12 技巧82 改变系统菜单的操作 12 技巧83 定制自己的系统菜单 12 技巧84 改变菜单按钮图标 12 技巧85 右键快捷菜单增加菜单项 12 技巧86 自定义右键快捷菜单 12 技巧87 使用右键菜单制作数据有效性 12 技巧88 禁用工作表右键菜单 12 技巧89 创建自定义工具栏 12 技巧90 自定义工具栏按钮图标 12 技巧91 自定义工作簿图标 12 技巧92 移除工作表的最小最大化和关闭按钮 12 技巧93 在工具栏上添加下拉列表框 12 技巧94 屏蔽工作表的复制功能 12 技巧95 禁用工具栏的自定义 12 技巧96 屏蔽所有的命令栏 12 技巧97 恢复Excel的命令栏 12 第8章 控件与用户窗体 12 技巧98 限制文本框的输入 12 技巧99 文本框添加右键快捷菜单 12 技巧100 文本框回车自动输入 12 技巧101 自动选择文本框内容 12 技巧102 设置文本框数据格式 12 技巧103 限制文本框的输入长度 12 技巧104 将光标返回文本框中 12 技巧105 文本框的自动换行 12 技巧106 多个文本框数据相加 12 技巧107 控件跟随活动单元格 12 技巧108 高亮显示按钮 12 技巧109 组合框和列表框添加列表项的方法 12 109-1 使用RowSource属性添加列表项 12 109-2 使用List属性添加列表项 12 109-3 使用AddItem方法添加列表项 12 技巧110 去除列表框数据源的重复值和空格 12 技巧111 移动列表框条目 12 技巧112 允许多项选择的列表框 12 技巧113 多列组合框和列表框的设置 12 113-1 多列组合框和列表框添加列表项 12 113-2 多列列表框写入工作表 12 技巧114 输入时逐步提示信息 12 技巧115 二级组合框 12 技巧116 使用DTP控件输入日期 12 技巧117 使用RefEdit控件选择区域 12 技巧118 如何注册控件 12 技巧119 遍历控件的方法 12 119-1 使用名称中的变量遍历控件 12 119-2 使用对象类型遍历控件 12 119-3 使用程序标识符遍历控件 12 119-4 使用名称中的变量遍历图形 12 119-5 使用FormControlType属性遍历图形 12 技巧120 使微调框最小变动量小于1 12 技巧121 不打印工作表中的控件 12 121-1 设置控件格式 12 121-2 设置控件的printobjcet属性 12 技巧122 在框架中使用滚动条 12 技巧123 使用多页控件 12 技巧124 标签文字垂直居中对齐 12 技巧125 使用TabStrip控件 12 技巧126 显示GIF动画图片 12 技巧127 播放Flash文件 12 技巧128 在工作表中添加窗体控件 12 128-1 使用AddFormControl方法 12 128-2 使用Add方法 12 技巧129 在工作表中添加ActiveX控件 12 129-1 使用Add方法 12 129-2 使用AddOLEObject方法 12 技巧130 使用spreadsheet控件 12 技巧131 使用Listview控件 12 131-1 使用Listview控件显示数据列表 12 131-2 在Listview控件中使用复选框 12 131-3 调整Listview控件的行距 12 131-4 在Listview控件中排序 12 131-5 Listview控件的图标设置 12 技巧132 调用非模式窗体 12 技巧133 进度条的制作 12 133-1 使用进度条控件 12 133-2 使用标签控件 12 技巧134 使用TreeView控件显示层次 12 技巧135 用户窗体添加图标 12 技巧136 用户窗体添加最大最小化按纽 12 技巧137 禁用窗体标题栏的关闭按钮 12 技巧138 屏蔽窗体标题栏的关闭按钮 12 技巧139 无标题栏和边框的窗体 12 技巧140 制作年月选择窗体 12 技巧141 自定义窗体中的鼠标指针类型 12 技巧142 调整窗体的显示位置 12 技巧143 由鼠标确定窗体显示位置 12 技巧144 用户窗体的打印 12 技巧145 使用自定义颜色设置窗体颜色 12 技巧146 在窗体中显示图表 12 146-1 使用Export方法 12 146-2 使用API函数 12 技巧147 窗体运行时调整控件大小 12 技巧148 在用户窗体上添加菜单 12 技巧149 在用户窗体上添加工具栏 12 技巧150 使用代码添加窗体及控件 12 技巧151 用户窗体的屏显示 12 151-1 设置用户窗体为应用程序的大小 12 151-2 根据屏幕分辨率进行设置 12 技巧152 在用户窗体上添加状态栏 12 第9章 函数的使用 12 技巧153 调用工作表函数求和 12 技巧154 查找最大、最小值 12 技巧155 不重复值的录入 12 技巧156 获得当月的最后一天 12 技巧157 四舍五入运算 12 157-1 极小值修正法 12 157-2 调用工作表函数法 12 技巧158 使用字符串函数 12 技巧159 使用日期函数 12 技巧160 判断是否为数值 12 技巧161 格式化数值、日期和时间 12 技巧162 个人所得税自定义函数 12 技巧163 人民币大写函数 12 技巧164 列号转换为列标 12 技巧165 判断工作表是否为空表 12 技巧166 查找指定工作表 12 技巧167 查找指定工作簿是否打开 12 技巧168 取得应用程序的安装路径 12 技巧169 数组的使用 12 169-1 代码运行时创建数组 12 169-2 文本转换为数组 12 169-3 使用动态数组去除重复值 12 第10章 文件操作 12 技巧170 导入文本文件 12 170-1 使用查询表导入 12 170-2 使用Open 语句导入 12 170-3 使用OpenText方法 12 技巧171 将数据写入文本文件 12 171-1 使用Print # 语句 12 171-2 另存为文本文件 12 技巧172 文件修改的日期和时间 12 技巧173 查找文件文件夹 12 技巧174 获得当前文件夹的名称 12 技巧175 创建和删除文件夹 12 技巧176 重命名文件文件夹 12 技巧177 复制指定的文件 12 技巧178 删除指定的文件 12 技巧179 搜索特定的文件 12 技巧180 使用WSH处理文件 12 180-1 获取文件信息 12 180-2 查找文件 12 180-3 移动文件 12 180-4 复制文件 12 180-5 删除文件 12 180-6 创建文件夹 12 180-7 复制文件夹 12 180-8 移动文件夹 12 180-9 删除文件夹 12 180-10 导入文本文件 12 180-11 创建文本文件 12 第11章 其他应用 12 技巧181 取得电脑名称 12 技巧182 取得逻辑盘序列号 12 技巧183 使用API取得硬盘信息 12 技巧184 使用数字签名 12 技巧185 暂停代码的运行 12 技巧186 定时关机 12 技巧187 打开指定的网页 12 技巧188 VBE的操作 12 188-1 添加模块和过程 12 188-2 建立事件过程 12 188-3 模块的导入与导出 12 188-4 删除宏代码 12 技巧189 保护VBA代码 12 189-1 设置工程密码 12 189-2 设置“工程不可查看” 12 技巧190 优化代码 12 190-1 关闭屏幕刷新 12 190-2 使用工作表函数 12 190-3 使用更快的单元格操作方法 12 190-4 使用With语句引用对象 12 190-5 少用激活或选择语句 12 技巧191 取得文件的基本名称 12 技巧192 防止用户中断代码运行 12 技巧193 加班费计算表 12 技巧194 制作发放条 12 技巧195 费用统计表 12 技巧196 职工花名册 12 技巧197 收据系统 12 技巧198 职工考勤系统 12
### 回答1: 您好!以下是将文本文件中的内容复制到Excel表格中的VBA代码(注释以英文书写): ``` Sub ImportTextFile() '选择文本文件 Dim myFile As String myFile = Application.GetOpenFilename("Text Files (*.txt), *.txt") '如果用户没有选择文件,则退出子程序 If myFile = "False" Then Exit Sub '打开文件以进行读取 Open myFile For Input As #1 '定义行计数器和单元格计数器 Dim rowCount As Integer Dim cellCount As Integer '循环读取每一行 Do Until EOF(1) '逐行读取文件 Line Input #1, textLine '将每个单词分割成数组 Dim words() As String words = Split(textLine, " ") '在Excel中写入每个单词 For Each word In words cellCount = cellCount + 1 Cells(rowCount + 1, cellCount).Value = word Next word '增加行计数器并重置单元格计数器 rowCount = rowCount + 1 cellCount = 0 Loop '关闭文件 Close #1 End Sub ``` 请注意,此代码假定文本文件以空格分隔单词。如果单词之间使用其他分隔符,请将 `Split` 函数中的 `" "` 替换为所需的分隔符。 另外,请注意,此代码假定Excel工作表是活动工作表。如果需要将单词写入不同的工作表或工作簿,请使用适当的引用修改代码中的单元格。 希望这可以帮助您将文本文件中的内容导入Excel! ### 回答2: VBA是Visual Basic for Applications的缩写,是一种宏编程语言,可以与各种 Microsoft Office 应用程序进行集成,包括Excel。下面是用VBA将TXT文件中的字符查找和导入到Excel中的方法: 1. 打开Excel,按下Alt+F11键打开VBA编辑器。 2. 在VBA编辑器中,插入一个新的模块。可以右键点击项目资源管理器中的“模块”,选择“插入”->“模块”。 3. 在新的模块中编写以下VBA代码: ```vba Sub 导入TXT文件内容() Dim 文件路径 As String Dim 文件号 As Integer Dim 文本行 As String Dim 哪一行 As Integer ' 设置文件路径 文件路径 = "C:\文件路径\文件名.txt" ' 打开文件 文件号 = FreeFile() Open 文件路径 For Input As 文件号 ' 逐行读取和导入文件内容 哪一行 = 1 Do While Not EOF(文件号) Line Input #文件号, 文本行 Cells(哪一行, 1).Value = 文本行 哪一行 = 哪一行 + 1 Loop ' 关闭文件 Close 文件号 End Sub ``` 4. 将`文件路径`变量的值替换为你想要导入的TXT文件的完整路径文件名。 5. 在VBA编辑器中,按下F5键或点击“运行”->“运行子过程”执行代码。 6. 执行完毕后,TXT文件中的字符将被逐行导入到Excel的第一列。 注意事项: - 执行代码前,请确保TXT文件路径文件名正确,且文件存在。 - 如果你需要导入的TXT文件不止一列字符,可以根据需要进行适当的修改,比如使用`Cells(哪一行, 哪一列)`来指定导入的位置。 - 以上代码假设TXT文件是以文本行的形式存储字符,每行一个字符。如果TXT文件的格式不同,需要在代码中进行相应的修改。 ### 回答3: VBA是一种用于自动化Excel操作的编程语言,可以通过使用VBA编写代码来将txt文件中的字符导入到Excel中。 首先,我们需要在Excel中打开一个新的工作簿,然后按下ALT + F11打开Visual Basic编辑器。在编辑器中,选择插入 -> 模块,然后在新的模块中编写以下VBA代码: ```VBA Sub ImportTXTFileToExcel() Dim FileNum As Integer Dim FilePath As String Dim FileContent As String Dim LinesArray() As String Dim i As Integer '选择要导入的TXT文件 With Application.FileDialog(msoFileDialogFilePicker) .Title = "选择要导入的TXT文件" .Filters.Clear .Filters.Add "文本文件", "*.txt" If .Show = -1 Then FilePath = .SelectedItems(1) Else Exit Sub End If End With '读取TXT文件内容 FileNum = FreeFile Open FilePath For Input As FileNum FileContent = Input$(LOF(FileNum), FileNum) Close FileNum '将内容按行分割成数组 LinesArray = Split(FileContent, vbNewLine) '将数组内容导入到Excel中 For i = LBound(LinesArray) To UBound(LinesArray) Cells(i + 1, 1).Value = LinesArray(i) Next i MsgBox "导入完成!" End Sub ``` 代码中的`FilePath`变量用于存储要导入的txt文件路径。通过使用`Application.FileDialog`方法,我们可以打开文件选择对话框,让用户选择要导入的txt文件。 然后,通过使用`Open`语句,我们打开所选文件,并使用`Input$`函数将文件内容读取到`FileContent`变量中。 接下来,我们使用`Split`函数将文本内容按行分割成一个字符串数组`LinesArray`,每个数组元素存储一行内容。 最后,我们使用一个循环将数组内容逐行导入到Excel中,并通过使用`Cells`对象将内容写入到第一列。 代码执行完成后,会弹出一个消息框显示“导入完成”。 这样,我们就完成了将txt文件中的字符导入到Excel的操作。您可以将此代码保存在Excel文件中,并在需要时运行它来导入txt文件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值