我试图找出一种方法来测试excel中的超链接字符串是否指向我们网络上的有效文件。但我有限的VBA知识似乎是我的优势。
示例:假设函数"HyperTest“根据超链接有效性返回TRUE或FALSE。单元格A1包含"c:\123.txt“单元格B1包含"=IF(HyperTest(A1)”,"Yay,文件是真实的!“,”看起来有人删除了您的文件“)。
我假设模块代码应该类似于这样的内容:
Public Function HyperTest(hyperpath As String) As Boolean
If [insert test here] Then
re
我正在使用下面的代码将超链接从一个单元格复制到一个范围。
超链接已经被粘贴并正常工作,
但是如果我后来从粘贴的超链接中删除了任何超链接,那么来自目标单元格的所有超链接都会被删除!
此问题发生在我使用vba (复制、粘贴和删除)或仅使用excel。
我用的是2016年办公室。
Sub Hyperlinks_Issue()
Range("R2").Copy Range("N2:N15")
Range("N2").Hyperlinks.Delete
End Sub
我有一本有许多工作表的工作簿(365++)。同时,有许多示例VBA代码允许宏创建从索引页到内容的超链接;然而,创建超链接从内容返回到索引页的例子完全没有。
使用循环遍历解决方案,我可以让代码工作,但它只适用于现有的活动页面,而我需要它循环工作簿中的每个工作表范围"A1“,以将其链接回主页面。
以下代码如下:
Sub vba_loop_sheets()
Dim ws As Worksheet
For Each ws In Worksheets
'Dummy data to test for loop
'ws.Range("
我只想问一下,是否可以使用VBA将文件保存在excel中,然后生成该文件路径的超链接以粘贴到不同的工作表上? 例如,我有一个工作簿,其中包含两个工作表:表单和日志。在表单工作表中,有一个包含文档编号的单元格。当我运行VBA代码时,它会将文档编号复制到日志工作表中。 Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Dim copySheet As Worksheet
Dim pasteSheet As Worksheet
Set copySheet = Worksheets("For
我的VBA脚本正在搜索Word文档中的特定文本,如果找到的文本包含超链接,我也希望将超链接复制到新文档。
我尝试过这样做(源是word中的一个表,目的地也是):
With source.Cell(1,1).Range
.Find.Text = "MyTextToSearch
.Find.Execute Forward:=True
.Select
.Copy
End With
destination.Cells(1).Range.Paste
文本被复制到目标,但没有超链接。当我在Word中使用查找、复制和粘贴(通过GUI)进行相同的操作时,所有内容都会被复制到目的
我有一个Excel电子表格,并使用VBA显示特定文件夹中的文件列表。VBA还为我创建了超链接。效果很好。但是,它不会将最后修改的日期放在每个超链接旁边的单元格中。
例如,如果TestFold.pdf位于单元格A1中--我希望在单元格B1 (它旁边)中最后修改该文件的日期(超链接)。
我的最终目标是每次将一个新文件夹添加到服务器位置时,我可以简单地运行我的VBA并以超链接的形式获取该文件夹中所有文件的列表(我已经这样做了),并且它们的最后修改日期就在它们旁边。
我用于获取文件夹和显示为超链接的VBA如下所示:
Sub Hyperlink()
Dim objFSO As Object
Dim ob
我在Windows 7 64位版本的Excel2010VBA中遇到了一个问题,我一直无法解决这个问题。通过将下面的代码粘贴到新工作簿中的模块中并运行该问题,可以轻松地重新创建该问题。
我想要做的是循环遍历多个工作表,并在每个工作表上添加一个已定义的名称和一个超链接。
Sub Test()
Dim i As Integer
Dim ws As Worksheet
Dim defName As String
For i = 1 To 2
Set ws = Sheets(i)
defName = "Name_" &
我试图在VBA中为一个Word文档创建一个脚本,该文档的书签和超链接将字符串与编号匹配到文档后面的某个位置。现在,我有两组匹配文本的匹配,如下所示(有时还有数百个匹配项):
目录
这里有一个书签,名为"InpCon“
4326: Info 132534: Info 27980: Info 3
正文
这里有一个书签,名为"InpBod“
4326: Info 132534: Info 27980: Info 3
这就是我想做的:
目录
这里有一个书签,名为"InpCon“
"Info1"32534:4326: Info 1‘超链接到书签名称: Info
如何编写Excel VBA代码以检索特定单元格中的超链接的url/地址?
我正在处理我的工作簿的sheet2,它包含大约300行。每行在列"AD“处都有一个唯一的超链接。我要做的是循环"J“列中的每个空白单元格,并将它的值从空白更改为它所在列"AD”单元格的超链接URL。我目前使用的是以下代码:
do while....
NextToFill = Sheet2.Range("J1").End(xlDown).Offset(1).Address
On Error Resume Next
GetAddress = Sheet2.Ran
我是VBA世界的新手。我会为我的问题寻求帮助。 我有B3:40范围内的文件列表。在每个单元格中,超链接到公用服务器中的特定word文档(.docx)文件。 现在,我想使用VBA excel将该范围内的超链接列表中的所有文档合并为一个新的word文档,其中包含列表中的所有文档。 下面是我的代码。我只能打开它,但不知道如何组合它。 提前感谢您的帮助。 Dim xhyperlink as Hyperlink
Dim Openfile as Range
On Error Resume Next
Set Openfile = Thisworkbook.Sheets("name of shee
我想使用一个单元格值来确定最大列和行长度,以便在达到最大列/行长度时循环到下一列 我已经有了" for“命令,但不知道如何在VBA中编写代码来检查数据集的最大值。列和行长度 Sub Val-Click()
Dim datdate
Dim cell as range
Dim j as long, dim i as long
For i=2 to 3
For j=3 to 8
If Sheet!Z.cells(j,i).Value = "" then
Sheet!Z.cells(j,i).Interior.Color=vRed
我想通过VBA为我的MS-Word文件添加许多超链接,对于第1段,超链接是"./index/1.doc",第二段是"./index/2.doc",等等。简单的过程是1)选择一个段落2)添加超链接,正如下面的代码所述。但是,VBA代码为每个段落提供了相同的超链接,这应该是最后一段的超链接。那么,在VBA中是否有任何方法可以取消对这种情况的选择?谢谢
顺便说一句,VBA可以在任何有超过1段的MS-Word文件上进行测试.
Sub addHypertext()
For countParagraph = 1 To ActiveDocument.Paragraph
在Excel桌面中创建了一个工作簿,该工作簿使用按钮和超链接来运行VBA函数。在基于浏览器的Office 365中加载工作簿时,按钮不会出现,单击超链接可提供 Sorry, we couldn't open this link. The link address may be invalid, or you may not have permission to open it. 如何获得桌面超链接和按钮功能以移植到Office 365?
我有一个工作表,其中包括一栏中的书名列表和另一列我们公司书店附带的URL。这些URL具有嵌入的跟踪编码,通常很长,并且通常超过255个字符的限制。这是一个工作文档--我经常添加--所以我需要一个代码,它只适用于我选择的行。我想做的是:选择我目前正在处理的url,并在同一行的一个新单元格中拥有VBA,创建一个超链接,显示每个url的图书标题。
我拼凑了一段只适用于一个细胞的代码。我所遇到的困难是,我选择了一组细胞来完成这个工作:
‘一个单元格只适用于子insertVeryLongHyperlink()
Dim curCell As Range
Dim longHyperlink As Strin
我必须重构一个旧宏,它在新的MS 365版本中失败了.
对于kernel32和User32,我在顶部声明了函数变量,如下所示:
#If Vba7 Then
Declare PtrSafe Function lstrcpy Lib "kernel32" (ByVal lpString1 As Any, ByVal lpString2 As Any) As LongPtr
#Else
Declare Function lstrcpy Lib "kernel32" (ByVal lpString1 As Any, ByVal lpString2 As Any
我们循环通过一个数组来填充一个表,它可以很好地填充,但我们正在尝试为我们放入表中的每个值添加一个超链接。它只会超链接表中的最后一个值。为什么我们放在表中的每一个值都没有超链接呢?每个值都在表中,只是没有链接。任何帮助都将不胜感激。
Dim url as system.web.ui.webcontrol.hyperlink
For i = 0 to count - 1
url.text = multi(i,1)
url.navigateurl = "IPPTraining.aspx?login=" & multi(i,0)
tblmain.rows(j)