- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有人可以帮我将单元格值写入记事本的新实例吗?
这是我尝试过的代码:
Sub a()
Dim nt As String
nt = Shell("notepad.exe", vbNormalFocus)
Print #1, ActiveSheet.Cells(1, 1).Value
Close #1
End Sub
最佳答案
我很多年前在 vbforums.com 上回答过类似的问题,但找不到它,所以我很快为你重写了它。我已经对代码进行了注释,因此您在理解它时不会有任何问题。
就像你和我一样,我们都有名字,同样,窗口也有“句柄”(hWnd)、类等。一旦你知道 hWnd 是什么,与该窗口交互就更容易了。 Findwindow API 使用类名查找特定窗口的 hWnd。阅读其余 API Here
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" _
(ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, _
ByVal lpsz2 As String) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const WM_SETTEXT = &HC
Private Sub Command1_Click()
Dim Ret As Long, ChildRet As Long
Dim sString As String
'~~> This is the value from the cell which
'~~> you want to send to notepad
sString = Range("A1").Value
'~~> Start Notepad
Ret = Shell("notepad.exe", vbNormalFocus)
'~~> Wait for it to load
DoEvents
'~~> Find notepad
Ret = FindWindow(vbNullString, "Untitled - Notepad")
'~~> Check if found
If Ret = 0 Then
MsgBox "Cannot find Notepad Window"
Exit Sub
End If
'~~> Find the "Edit Window" which is a child window of Notepad window
ChildRet = FindWindowEx(Ret, ByVal 0&, "Edit", vbNullString)
'~~> Send the message
SendMessage ChildRet, WM_SETTEXT, 0, ByVal sString
End Sub
为了获取Windows的类名,我通常使用Spy++或uuSpy。看看这就是我如何使用 Spy++ 获取记事本的类名“Edit”
关于vba - 在新记事本中写入文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33643803/
我是编程新手,我开始创建一个简单的记事本,只有 4 个按钮(打开、保存、新建和字体)。 如果我打开或保存我收到一个错误:这是我的代码: //Declare save as a new
我用vba编写了一个宏,它用记事本打开一个文本文件,选择所有txt并将其复制到Excel。我每天必须以这种方式处理大约 100 个文件,并且我想保留我观察到的闪烁图像。代码可以工作,但问题是命令 Ap
所以我一直在寻找将我创建的 JSON 数据库连接到 Java 程序的方法,我似乎找不到适合这种特定情况的任何内容,因此我尝试使用 JDBC 教程(http://www.tutorialspoint.c
我想在记事本中显示一个消息框,所以我找到了一个简单的dll 注入(inject)示例。注入(inject)器本身不是我的并且似乎工作正常(获取进程的 id ,创建一个远程线程,获取 dll 文件的绝对
Dim ProcessProperties As New ProcessStartInfo() ProcessProperties.FileName = "notepad.exe" ProcessPr
我使用 Process.Start() 从我的程序中打开一个记事本,但新打开的记事本覆盖了屏幕。但我确实希望我的应用程序保持其焦点。 我类似地(使用相同的 Process.Start)打开 MS Ex
之前进行Web开发的时候使用的是myeclipse,但只用过的人都知道,由于其插件太多,而且有很多插件的功能根本就接触不到。所以导致一旦工程稍微大一点就会很卡,虽然之前也对其进行优化过,但还是觉得不
在 android Notes 演示中,它接受 URI: sUriMatcher.addURI(NotePad.AUTHORITY, "notes", NOTES); sUriMatc
我想知道,如何将 Redhat 中的 vi 编辑器中的整行文本复制到 Windows 中的记事本中。 如果要复制的文本尺寸很小,可以通过鼠标选择行并复制到记事本来轻松完成。但是我遇到过复制数千行的情况
主要目的是了解是否有办法从 UMDF(用户模式驱动程序框架)事件启动或执行任何用户模式应用程序。事件无关紧要。任何事件都可能起作用,例如DriverEntry、DeviceAttach 我正在研究一种
我有制表符分隔的值,需要使用 Java 将其导出为文本文件,以便在 Microsoft Excel 中打开。当制表符分隔值包含中文字符时就会出现问题。 我尝试使用 UTF-8 导出文本文件,但 Exc
我们如何管理使用 Win32 api 运行的应用程序的 wndproc 函数?我使用的软件语言是 Go。 我尝试了不止一种方法,但无法做到。你能帮我吗? I am learning the HANDL
我在源代码管理中打开历史记录,然后打开一个变更集,然后在文件列表中选择一个文件并双击打开它。 TFS 通过记事本打开文件,我想通过 Visual Studio 或任何其他文本编辑器(以突出显示语法)打
Win32的FindWindow()可以找到标题为“Untitled - Notepad”的窗口,但是如果我只想找到一个记事本窗口但不知道是不是“try. bat - 记事本”或标题栏上的其他文件名?
我是一名优秀的程序员,十分优秀!