怎样用vb将不同工作页vb控制台输出语句到同一文件的不同工作页中

VB利用资源文件进行工作
VB利用资源文件进行工作
发布时间: 21:06:06
编辑:www.fx114.net
本篇文章主要介绍了"VB利用资源文件进行工作",主要涉及到VB利用资源文件进行工作方面的内容,对于VB利用资源文件进行工作感兴趣的同学可以参考一下。
利用资源文件进行工作
资源文件允许将应用程序特定版本的全部文本和位图收集到一起。这可以包括常数声明、图标、屏幕文本,以及可能在本地化版本之间或在修订版本或特定的配置之间发生变化的其它材料。
向工程中添加资源
可以使用资源编译器外接程序创建资源文件。编译过的资源文件带有 .res 扩展名。每个工程只能包含一个资源文件。
资源文件实际上是由一系列独立的字符串、位图或者其它项目组成的,其中每一项都有一个唯一的标识符。标识符可能是 Long 类型或 String 类型,取决于资源所代表的数据类型。例如,字符串的标识符为 Long 型,而位图的标识符则为 Long 型或 String 型。如想在代码中检索资源,应知道每个资源的标识符。引用资源的函数参数可以使用 Variant 数据类型。
要将新资源文件添加到您的工程中,请按照以下步骤执行:
从“工具”菜单中选择“资源编辑器”,将在资源编辑器窗口打开一个空的资源文件。
注意&& 必须安装资源编辑器外接程序。有关安装外接程序的信息,请参阅“管理工程”中的“使用向导和外接程序”。
在资源编辑器工具栏中选择“保存”按钮以保存资源文件。文件将被添加到“相关文档”部分下的“工程资源管理器”中。
要将已存在的资源文件添加到您的工程中,请
从“工程”菜单中选择“添加新资源”。您的工程中任何已存在的资源文件将被替换。
警告&& 假如您对已存在的资源文件做任何修改,将可能影响使用此资源文件的其它工程。确保您将文件保存在一个新文件名下。
注意&& 必须安装资源编辑器外接程序。有关安装外接程序的信息,请参阅“管理工程”中的“使用向导和外接程序”。
详细信息 关于资源文件的详细信息,请参阅“国际化”中的“使用本地化资源文件”。
注意 Windows 资源文件随 16 位或 32 位应用程序而不同,如果试图将一个 16 位资源文件添加到一个工程中,Visual Basic 将产生一条错误信息。
为了将资源文件添加到工程中,可从“工程”菜单中选择“添加文件”命令,这与将别的文件添加至工程中完全一样。一个工程只能接受一个资源文件,如果试图添加第二个扩展名为 .res 的文件,将产生错误。
在代码中使用资源
Visual Basic 提供了三个函数从资源文件中检索数据以供在代码中使用。
函数&&&&&&&&&&&&&&&&&&&&&& &描述
LoadResString&& &&& 返回一个文本字符串。
LoadResPicture&&&& 返回一个 Picture对象,例如位图、图标或光标。
LoadResData&&&&&&&& 返回一个 Byte 数组,用于象 .wav 之类的文件。
详细信息 请参阅相应函数主题。
一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!
二、互相尊重,对自己的言论和行为负责。
本文标题:
本页链接:查看: 3044|回复: 13
如何将同一个文件夹的不同工作薄的内容复制在一个工作薄里?
阅读权限10
在线时间 小时
如何将同一个文件夹的不同工作薄的内容复制在一个工作薄里,这些工作薄的表头都一样,格式也一样。只是行数不同。(见附件)
下面是我写的代码,好像不能用
Sub HzwWb()
& & Dim r As Long, c As Long
& & Range(Cells(r + 1, &A&), Cells(65536, c)).ClearContents
& & Application.ScreenUpdating = False
& & Dim FileName As String, wb As Workbook, sht As Worksheet, erow As Long, fn As String, arr As Variant
& & FileName = Dir(ThisWorkbook.Path & &\*.xls&)
& & Do While FileName && &&
& & If FileName && ThisWorkbook.Name Then
& & erow = Range(&A1&).CurrentRegion.Rows.Count + 1
& & fn = ThisWorkbook.Path & & \ & & FileName
& & Set wb = GetObject(fn)
& & Set sht = wb.Worksheets(1)
& & arr = sht.Range(sht.Cells(r + 1, &A&), sht.Cells(65536, &B&).End(xlUp).Offset(0, 5))
& & Cells(erow, &A&).Resize(UBound(arr, 1), UBound(arr, 2)) = arr
& & wb.Close False
FileName = Dir
Application.ScreenUpdating = True
17:13 上传
点击文件名下载附件
9.15 KB, 下载次数: 26
阅读权限10
在线时间 小时
求大神!!!!!!!!!
阅读权限30
在线时间 小时
FileName = Dir(ThisWorkbook.Path & &\*.xls&)
你其他的表是.csv,不是.xls
阅读权限10
在线时间 小时
谢谢!~~~~~~~~~~
阅读权限10
在线时间 小时
sheet1 发表于
FileName = Dir(ThisWorkbook.Path & &\*.xls&)
你其他的表是.csv,不是.xls
还是不行啊,求解。
阅读权限20
在线时间 小时
本帖最后由 张宏杰 于
21:03 编辑
这是我一年前做的一个表,代码不一定好,全是当时从网上拼凑的代码,多数是自己录制的宏改的,但很实用。
可以完成导入工作表,删除工作表,删除所有行(比较笨的方法),合并各工作表数据。
(78.36 KB, 下载次数: 66)
21:01 上传
点击文件名下载附件
阅读权限10
在线时间 小时
& & & & & & & &
'如何将同一个文件夹的不同工作薄的内容复制在一个工作薄里,这些工作薄的表头都一样,格式也一样。只是行数不同。
Sub HzwWb()
& & & & Dim r As Long, c As Long
& & & & r = 1
& & & & c = 5
& & & & Range(Cells(r + 1, &A&), Cells(65536, c)).ClearContents
& & & & Application.ScreenUpdating = False
& & & & Dim FileName As String, wb As Workbook, sht As Worksheet, erow As Long, fn As String, arr As Variant
& & & & ' 仅适用 EXCEL 2003
& & & & FileName = Dir(ThisWorkbook.Path & &\*.xls&)
& & & & Do While FileName && &&
& & & & If FileName && ThisWorkbook.Name Then
& & & & & & & & erow = Range(&A1&).CurrentRegion.Rows.Count + 1
& & & & & & & & ' \ 前后无空格!
& & & & & & & & fn = ThisWorkbook.Path & &\& & FileName
& & & & & & & & Set wb = GetObject(fn)
& & & & & & & & Set sht = wb.Worksheets(1)
& & & & & & & & ' Offset(0, 7), 其中需要复制多少行,就填写多少行-2的数值!
& & & & & & & & arr = sht.Range(sht.Cells(r + 1, &A&), sht.Cells(65536, &B&).End(xlUp).Offset(0, 7))
& & & & & & & & Cells(erow, &A&).Resize(UBound(arr, 1), UBound(arr, 2)) = arr
& & & & & & & & wb.Close False
& & & & End If
& & & & FileName = Dir
& & & & Loop
& & & & Application.ScreenUpdating = True
阅读权限95
在线时间 小时
kilo_636 发表于
'如何将同一个文件夹的不同工作薄的内容复制在一个工作薄里,这些工作薄的表头都一样,格式也一样。只是行数 ...
楼主附件里的表不是,xls 后缀
阅读权限10
在线时间 小时
kilo_636 发表于
'如何将同一个文件夹的不同工作薄的内容复制在一个工作薄里,这些工作薄的表头都一样,格式也一样。只是行数 ...
我按照你的代码试了,还是没用,我改了后缀了。
是我的excel是2010的原因?
阅读权限20
在线时间 小时
Sub copyfileSUB() '该过程实现将前面过程确定的文件数组所要的工作表复制到同一个工作簿中,并按原文件前8个字符命名工作表
& & On Error Resume Next
& & Application.DisplayAlerts = False
& & Dim thiswb As Workbook
& & Dim copywb As Workbook
& & Dim j, m As Integer
& & Dim shtx As String
& & Dim rc As Worksheet
& & Application.ScreenUpdating = False
& & Application.EnableEvents = False
& & m = UBound(arryname) - LBound(arryname) + 1
& & ReDim Preserve shtname(1 To m)
& & Workbooks.Open Filename:=targetfile
& & Windows(&标段汇总.xls&).Activate
& & shtx = Mid(tablename, 2, 3)
& & With Selection
& && && && &For j = 1 To m Step 1
& && && && &shtname(j) = Left(arryname(j), 8) '取得当前文件夹下的文件名(前8个字符)数组
& && && && &If arryname(j) && Workbooks(&标段汇总&).Name Then
& && && && && & Application.AskToUpdateLinks = False '屏蔽含有链接的文件更新对话框
& && && && && & Set copywb = GetObject(ArryFile(j))
& && && && && & For Each rc In copywb.Worksheets
& && && && && & If InStr(rc.Name, shtx) & 0 Then
& && && && && &&&copywb.Sheets(rc.Name).Copy after:=Workbooks(&标段汇总&).Sheets(Sheets.Count)
& && && && && &&&ActiveSheet.Name = shtname(j) '重命名复制过来的表
& && && && && & End If
& && && && && & Next
& && && && && & copywb.Close True
& && && && && & ActiveWindow.DisplayZeros = False
& && && && && & Application.AskToUpdateLinks = True '恢复含有链接的文件更新对话框
& && && &&&End If
& && &&&Next j
& && &&&Set copywb = Nothing
& && &&&Windows(&标段汇总.xls&).Close savechanges:=True
& && &&&Application.ScreenUpdating = True
& && &&&Application.EnableEvents = True
& && &&&Application.DisplayAlerts = True
& &End With
& &Call MytargetdirOpen '打开标段汇总表所在的文件夹
这是我一个成功的实例,你把其中需要赋值的变量根据你的情况补上,应该能够解决问题
最新热点 /1
ExcelHome每周都有线上直播公开课,
国内一流讲师真身分享,高手贴身答疑,
赶不上直播还能看录像,
关键居然是免费的!
厚木哥们都已经这么努力了,
你还好意思说学不好Office。
玩命加载中,请稍候
玩命加载中,请稍候
Powered by
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任! & & 本站特聘法律顾问:徐怀玉律师 李志群律师本帖子已过去太久远了,不再提供回复功能。

我要回帖

更多关于 vb倒序输出 的文章

 

随机推荐