可以String.Format()
在VB6中实现,至少是一个足够接近的版本,在用'VB6'进行编程时可能会有用吗?
关于VB6字符串操作性能的良好资源:http://www.aivosto.com/vbtips/stringopt2.html
在一个相关的不,我也想出了几个字符串比较函数,在CodeReview.SE上找到它们
这些函数对于提高VB6的可读性非常有用,特别是如果你最近被.net代码宠坏了,突然被要求潜入VB6代码库......享受!
我做了这个简单的程序:
package main.java;
public class start {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
Run Code Online (Sandbox Code Playgroud)
并得到了这个错误.我不知道发生了什么,
"C:\Program Files\Java\jdk1.7.0_21\bin\java" -Didea.launcher.port=7532 "-Didea.launcher.bin.path=C:\Program Files (x86)\JetBrains\IntelliJ IDEA Community Edition 12.1.4\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.7.0_21\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\jce.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\jfxrt.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\resources.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\rt.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\ext\zipfs.jar;C:\Users\Tim\IdeaProjects\Rust\out\production\Rust;C:\Program Files (x86)\JetBrains\IntelliJ IDEA Community Edition 12.1.4\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMain java.start
Exception in thread "main" java.lang.ClassNotFoundException: java.start
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at …
Run Code Online (Sandbox Code Playgroud) 如何将int转换为链接到EF的字符串?
clr不能想象将int转换为字符串而Entity框架无法找出要转换.ToString()
成的SQL片段.
那么如何编写一个返回字符串而不是int的linq语句?
我正在为VBE编写COM加载项,其中一个核心功能是在单击命令栏按钮时执行现有的VBA代码.
代码是用户在标准(.bas)模块中编写的单元测试代码,其模块如下所示:
Run Code Online (Sandbox Code Playgroud)Option Explicit Option Private Module '@TestModule Private Assert As New Rubberduck.AssertClass '@TestMethod Public Sub TestMethod1() 'TODO: Rename test On Error GoTo TestFail 'Arrange: 'Act: 'Assert: Assert.Inconclusive TestExit: Exit Sub TestFail: Assert.Fail "Test raised an error: #" & Err.Number & " - " & Err.Description End Sub
所以我有这个代码获取主机Application
对象的当前实例:
protected HostApplicationBase(string applicationName)
{
Application = (TApplication)Marshal.GetActiveObject(applicationName + ".Application");
}
Run Code Online (Sandbox Code Playgroud)
这是ExcelApp
班级:
public class ExcelApp : HostApplicationBase<Microsoft.Office.Interop.Excel.Application>
{
public ExcelApp() : base("Excel") { }
public override void Run(QualifiedMemberName …
Run Code Online (Sandbox Code Playgroud) 将代码放入VBA Userform而不是"普通"模块中是否有缺点?
这可能是一个简单的问题,但我在搜索Web和stackoverflow时没有找到一个确定的答案.
背景:我正在Excel-VBA中开发数据库的前端应用程序.要选择不同的过滤器,我有不同的用户形式.我问一般的程序设计更好:(1)将控制结构放入单独的模块中或(2)将下一个用户形式或操作的代码放入用户窗体中.
让我们举个例子.我有一个Active-X按钮,可以触发我的过滤器和表单.
Variant1:模块
在CommandButton中:
Private Sub CommandButton1_Click()
call UserInterfaceControlModule
End Sub
Run Code Online (Sandbox Code Playgroud)
在模块中:
Sub UserInterfaceControllModule()
Dim decisionInput1 As Boolean
Dim decisionInput2 As Boolean
UserForm1.Show
decisionInput1 = UserForm1.decision
If decisionInput1 Then
UserForm2.Show
Else
UserForm3.Show
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
在变体1中,控制结构在正常模块中.关于下一个要显示哪个userform的决定与userform分开.决定下一个要显示的用户表单所需的任何信息都必须从用户表单中提取.
Variant2:Userform
在CommadButton中:
Private Sub CommandButton1_Click()
UserForm1.Show
End Sub
Run Code Online (Sandbox Code Playgroud)
在Userform1中:
Private Sub ToUserform2_Click()
UserForm2.Show
UserForm1.Hide
End Sub
Private Sub UserForm_Click()
UserForm2.Show
UserForm1.Hide
End Sub
Run Code Online (Sandbox Code Playgroud)
在变体2中,控制结构直接在用户表单中,每个用户表单都有关于它后面的内容的说明.
我已经开始使用方法2进行开发.如果这是一个错误,并且这个方法有一些严重的缺点,我想早点知道它.
我有一个输入框,要求用户输入日期.如果用户单击取消或关闭输入对话框而不是按下确定,如何让程序知道停止.
就像是
if str=vbCancel then exit sub
目前,用户可以点击OK或取消,但该程序仍然运行
str = InputBox(Prompt:="Enter Date MM/DD/YYY", _
Title:="Date Confirmation", Default:=Date)
我知道这可能是一个微不足道的问题,但我似乎无法宣称一个workbook
或worksheet
一个变量VBA
.我有以下代码,但我无法弄清楚我做错了什么,应该是直截了当的.通常我没有任何问题声明变量等问题Dim i As Integer
.
sub kl()
Dim wb As Workbook
Dim ws As Worksheet
Set wb = ActiveWorkbook
Set ws = Sheet("name")
wb.ws.Select
End Sub
Run Code Online (Sandbox Code Playgroud)
当我运行上面的代码时,我收到一个type missmatch
错误.
我试图逐渐将单元格的背景颜色更改为黑色,我发现Range.Interior.Color方法返回一个看似随意的Long.查看MSDN上的文档,几乎没有关于此数字代表什么的信息.有没有办法从这个长度返回RGB值.我实际上需要与RGB(红色,绿色,蓝色)功能相反的功能.
我刚刚在Windows 10操作系统上安装了Rubberduck VBE加载项v2.0.11.2453(MSIL).
当我在Excel中打开一个启用宏的Excel工作簿并启动VBA编辑器时,Rubberduck启动但Rubberduck菜单下的所有命令都被禁用.
我究竟做错了什么?
我想有一个常量材料的目录,所以我可以使用如下所示的代码:
Dim MyDensity, MySymbol
MyDensity = ALUMINUM.Density
MySymbol = ALUMINUM.Symbol
Run Code Online (Sandbox Code Playgroud)
显然铝的密度和符号预计不会改变所以我希望它们是常数但我喜欢简单的点符号.
我看到了几个选项,但我不喜欢它们.
为每种材料的每个属性制作常量.这似乎太多常数,因为我可能有20个材料,每个都有5个属性.
Const ALUMINUM_DENSITY As Float = 169.34
Const ALUMINUM_SYMBOL As String = "AL"
Run Code Online (Sandbox Code Playgroud)使用所有材质定义枚举并生成返回属性的函数.密度不是很明显,因为它的值是由函数返回的.
Public Enum Material
MAT_ALUMINUM
MAT_COPPER
End Enum
Public Function GetDensity(Mat As Material)
Select Case Mat
Case MAT_ALUMINUM
GetDensity = 164.34
End Select
End Function
Run Code Online (Sandbox Code Playgroud)似乎Const Structs或Const Objects不会解决这个问题,但也许我错了(甚至可能不被允许).有没有更好的办法?