Application.ActiveWorkbook.Path 获取当前excel文件所在的文件地址

Excel VBA中表示当前工作簿,有Activeworkbook和Thisworkbook 两种表示方法,二者的相同点和区别是什么?

thisworkbook指当前VBA代码所处的Workbook,
Activeworkbook指当前活跃的Workbook 相同点:如果VBA代码只对本身工作簿进行操作,则一直是相同的
不同点:若VBA代码新建或打开了其它工作簿,则往往新建的或刚打开的是Activeworkbook,可以通过 “工作簿名。active”方法激活指定对象 用InputBox函数,功能是弹出一个对话框,在其中显示提示,等待用户输入文字并按下按钮,然后返回用户输入的文字。
Text1 = InputBox("请在下面输入内容:""输入框""默认值")

Cells(Rows.Count, 1).End(xlUp).Row的含义

    NextRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
    这句话的意思是 取活动单元表的第一列最后一个有值的行的下一行行号
 
Rows.Count是指当前活动工作表的行数,为数字 1048576,很熟悉的一个数字,为Excel工作表的最大行数
 
Cells(Rows.Count, 1),则是定位到第一列的最后一行cell,即单元格“A1048576”
 
主要是End(xlUp)比较难理解。

Range.End属性是返回一个 Range 对象,该对象代表包含源 区域的区域尾端的单元格。

End(xlUp)等同于End mode下+UP键,或Ctrl+Up
 

IF 条件 THEN    END IF结尾

For  步长 To   最长

Next

写文件  Print #1, "/**"

Sub convertjava()

'java文件名称获取
Dim javaName As String Dim javaNote As String
'定义步长
Dim a&, b&, c&
'列的步长
Dim columnCount&, j&, k&, m& Dim columnName As String Dim name As String Dim typeName As String '表字段所在位置
j = 2
'表字段类型所在位置
k = 3
'表字段中文名称所在位置
m = 1
'表中文名称所在位置
b = 1
'表名称所在位置
c = 2 Text1 = InputBox("请输入包名:", "输入框", " ") If (InStr(Text1, " ") = 1) Then
MsgBox "包名输入不正" Else
For a = 2 To ActiveWorkbook.Worksheets.Count
'获取表名称
javaName = ActiveWorkbook.Worksheets(a).Cells(c, 1).Value
'截取第一个无用字符串
javaName = Mid(javaName, 2, Len(javaName))
'字符串替换,下划线替换成空格
javaName = Replace(javaName, "_", " ")
'将表名称全部修改成首字母大写
javaName = StrConv(javaName, vbProperCase)
'将空格替换成空
javaName = Replace(javaName, " ", "") '写文件
Open Application.ActiveWorkbook.Path & "/" & javaName & ".java" For Output As #1 Print #1, "package " & Text1 Print #1, "/**"
Print #1, " *"
Print #1, " *" & ActiveWorkbook.Worksheets(a).Cells(b, 1).Value
Print #1, " *"
Print #1, " */" Print #1, "public class " & javaName & "{" columnCount = ActiveWorkbook.Worksheets(a).Cells(Rows.Count, 1).End(xlUp).Row For i = 4 To columnCount + 1 If (ActiveWorkbook.Worksheets(a).Cells(i, 4).Value <> 0 And ActiveWorkbook.Worksheets(a).Cells(i, 4).Value <> "") Then columnName = ActiveWorkbook.Worksheets(a).Cells(i, j).Value
'字符串替换,下划线替换成空格
columnName = Replace(columnName, "_", " ")
'将表名称全部修改成首字母大写
columnName = StrConv(columnName, vbProperCase)
'将空格替换成空
columnName = Replace(columnName, " ", "") columnName = LCase(Left(columnName, 1)) & Right(columnName, Len(columnName) - 1) Print #1, "private String " & columnName & ";//" & ActiveWorkbook.Worksheets(a).Cells(i, m).Value End If
Next For i = 4 To columnCount + 1 If (ActiveWorkbook.Worksheets(a).Cells(i, 4).Value <> 0 And ActiveWorkbook.Worksheets(a).Cells(i, 4).Value <> "") Then columnName = ActiveWorkbook.Worksheets(a).Cells(i, j).Value
'字符串替换,下划线替换成空格
columnName = Replace(columnName, "_", " ")
'将表名称全部修改成首字母大写
columnName = StrConv(columnName, vbProperCase)
'将空格替换成空
columnName = Replace(columnName, " ", "") typeName = ActiveWorkbook.Worksheets(a).Cells(i, k).Value If 1 = 1 Then End If name = LCase(Left(columnName, 1)) & Right(columnName, Len(columnName) - 1) Print #1, "/**"
Print #1, " *"
Print #1, " * get " & ActiveWorkbook.Worksheets(a).Cells(i, m).Value
Print #1, " *"
Print #1, " */"
Print #1, " public String get" & columnName & "( ){"
Print #1, " return " & name & ";"
Print #1, "}"
Print #1, "/**"
Print #1, " *"
Print #1, " * set " & ActiveWorkbook.Worksheets(a).Cells(i, m).Value
Print #1, " *"
Print #1, " */"
Print #1, " public void set" & columnName & "( String " & name & "){"
Print #1, " this." & name & " = " & name & ";"
Print #1, "}"
End If
Next
Print #1, "}"
Close #1
Next a Close #1 MsgBox "生成Java文件成功" End If End Sub

  

 
 

VB学习生成JavaBean的更多相关文章

  1. 根据表结构自动生成JavaBean,史上最强最专业的表结构转JavaBean的工具(第2版)

             目录:                 第1版:http://blog.csdn.net/vipbooks/article/details/51912143              ...

  2. java工具类–自动将数据库表生成javabean

    最近和数据库的表打交道挺多的,因为暂时做的是接口活. 在这过程中发现要把表转换成对应的javabean类型,字段少的表还行,如果不小心碰到几十个字段的他妈的写起来就有点麻烦了,万一碰到几百个的呢,那不 ...

  3. 基于数据库的自动化生成工具,自动生成JavaBean、自动生成数据库文档等(v4.1.2版)

            目录:            第1版:http://blog.csdn.net/vipbooks/article/details/51912143            第2版:htt ...

  4. mysql表生成JavaBean

    MySQLToBean.java package org.just.util; import java.io.File; import java.io.FileInputStream; import ...

  5. 基于数据库的自动化生成工具,自动生成JavaBean、数据库文档、框架代码等(v5.8.8版)

    TableGo v5.8.8版震撼发布,此次版本更新如下:          1.新增两个扩展字段,用于生成自定义模板时使用.          2.自定义模板新增模板目录,可以选择不同分类目录下的模 ...

  6. 用python生成基于lombok 和 hibernate 生成javabean

    mysql工具类 import pymysql.cursors import sys from contextlib import contextmanager import traceback im ...

  7. 基于数据库的代码自动生成工具,生成JavaBean、生成数据库文档、生成前后端代码等(v6.0.0版)

    TableGo v6.0.0 版震撼发布,此次版本更新如下: 1.UI界面大改版,组件大调整,提升界面功能的可扩展性. 2.新增BeautyEye主题,界面更加清新美观,也可以通过配置切换到原生Jav ...

  8. Android studio 插件之 GsonFormat (自己主动生成javabean)

    概述 相信大家在做开发的过程中都写过非常多的javabean ,非常多情况下 都是一个列表数据就是一个单独的javabean.假设大家自己敲的话费时费力 还非常easy敲错. 今天给大家推荐一个插件 ...

  9. 根据xml文件生成javaBean

    原 根据xml文件生成javaBean 2017年08月15日 18:32:26 吃完喝完嚼益达 阅读数 1727 版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出 ...

随机推荐

  1. 查看网站域名IP地址

    运行:CMD 输入: Nslookup 网站地址 示例: Nslookup httpwww.baidu.com 我们是筑梦团队,我们的座右铭是:当提起逐梦的脚步,也请举起筑梦的双手

  2. CDR 2017压感笔和压感设备该怎么设置使用?

    您可以通过CorelDRAW 2017 中的以下工具来运用压感笔.笔或其他设备的压力:艺术笔(表达模式).橡皮擦.涂抹.转动.吸引.排斥.粗糙和弄脏.此外,您还可以通过艺术笔(表达模式)工具.橡皮擦. ...

  3. c++的map有关

    Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字(key),每个关键字只能在map中出现一次,第二个可能称为该关键字的值(value))的数据 处理能力,由于这个特性,它完成有可能 ...

  4. Python中zip()与zip(*)的用法

    目录 Python中zip()与zip(*)的用法 zip() 知识点来自leetcode最长公共前缀 Python中zip()与zip(*)的用法 可以看成是zip()为压缩,zip(*)是解压 z ...

  5. 动态生成的dom元素绑定事件

    要求:要绑定到父元素上$(".school_Inlists").on("click",".chose_Inbtn",function(){ ...

  6. jq——html,text,val和对象访问

    html代码 1.html():获取的是对象内的html代码,类似于innerHTML 2.html(代码):设置html的内容,替换 $("div").html("hh ...

  7. jquery.nicescroll.min.js滚动条插件的用法

    1.jquery.nicescroll.min.js源码 /* jquery.nicescroll 3.6.8 InuYaksa*2015 MIT http://nicescroll.areaaper ...

  8. Python:Fatal error in launcher: Unable to create process using 问题排查

    cmd> django-admin 回车Fatal error in launcher: Unable to create process using '"c:\users\admin ...

  9. 【 【henuacm2016级暑期训练】动态规划专题 G】 Palindrome pairs

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 先用枚举回文串中点的方法. 得到这个字符串中出现的所有的回文. 得到他们的左端点以及右端点. 整理成一个pair<int,in ...

  10. COGS——T 1175. [顾研NOIP] 旅游电车

    http://www.cogs.pro/cogs/problem/problem.php?pid=1175 ★★☆   输入文件:buss.in   输出文件:buss.out   简单对比时间限制: ...