![]() |
|
#1
|
|||
|
|||
|
Hi,
Is there a way to extract a part of text from a line and insert it as a hyperlink on the "name of pdf" on that's line with macros? I made a batch file to export a list of path and his filenames but it can't create hyperlinks inside a .txt file In theory i know how can i did it. But in practice, i don't know to much about vba. I would really grateful if someone could help me, because the list has approximately 800 files. So beforehand thanks. Example: With this: Ars Combinatoria, Bruno, Llull - General Memory Chat - Art of Memory Forum.pdf "C:\Users\Admin\DOCUME~1\Inks\Ars Combinatoria, Bruno, Llull - General Memory Chat - Art of Memory Forum.pdf.lnk" Only Few days left for exams - Homework, Test, and Study Help - Art of Memory Forum.pdf "C:\Users\Admin\DOCUME~1\Inks\Only Few days left for exams - Homework, Test, and Study Help - Art of Memory Forum.pdf.lnk" https___forum_artofmemory_com_t_bitacora-memory-chronicle-11_26217.pdf "C:\Users\Admin\DOCUME~1\Inks\https___forum_artofm emory_com_t_bitacora-memory-chronicle-11_26217.pdf.lnk" artofmemory_com_wiki_How_to_Build_a_Memory_Palace. pdf "C:\Users\Admin\DOCUME~1\Inks\artofmemory_com_wiki _How_to_Build_a_Memory_Palace.pdf.lnk" I'll hope do this: Ars Combinatoria, Bruno, Llull - General Memory Chat - Art of Memory Forum.pdf Only Few days left for exams - Homework, Test, and Study Help - Art of Memory Forum.pdf https___forum_artofmemory_com_t_bitacora-memory-chronicle-11_26217.pdf artofmemory_com_wiki_How_to_Build_a_Memory_Palace. pdf Last edited by Jazz43; 10-17-2019 at 12:38 PM. Reason: I add a line break |
|
#2
|
||||
|
||||
|
You can't have hyperlinks in a text file, but you can in a Word document. Assuming that you example is a fair representation call the following macro from a loop to open your documents
Code:
Sub AddLinks(oDoc As Document)
Dim oPara As Paragraph
Dim oRng As Range
Dim vPara As Variant
Dim strLink As String
Dim strDisplay As String
Dim lngPara As Long
For Each oPara In oDoc.Paragraphs
Set oRng = oPara.Range
oRng.End = oRng.End - 1
If InStr(1, oRng.Text, "C:\") > 1 Then
vPara = Split(oRng.Text, Chr(34))
strDisplay = Trim(vPara(0))
strLink = Trim(Replace(vPara(1), Chr(34), ""))
oRng.Text = ""
oRng.Hyperlinks.Add Anchor:=oRng, Address:=strLink, TextToDisplay:=strDisplay
End If
Next oPara
lbl_Exit:
Set oPara = Nothing
Set oRng = Nothing
Exit Sub
End Sub
__________________
Graham Mayor - MS MVP (Word) (2002-2019) Visit my web site for more programming tips and ready made processes www.gmayor.com |
|
#3
|
|||
|
|||
|
Quote:
Sub AddLinks(oDoc As Document) to: Code:
Sub AddLinks() Dim oDoc As Document .... |
|
#4
|
||||
|
||||
|
The following will loop through the documents in a selected folder and run my earlier code
Code:
Sub BatchProcess()
Dim strFile As String
Dim strName As String
Dim strPath As String
Dim oDoc As Document
Dim fDialog As FileDialog
Set fDialog = Application.FileDialog(msoFileDialogFolderPicker)
With fDialog
.TITLE = "Select folder and click OK"
.AllowMultiSelect = False
.InitialView = msoFileDialogViewList
If .Show <> -1 Then
MsgBox "Cancelled By User", , "List Folder Contents"
Exit Sub
End If
strPath = fDialog.SelectedItems.Item(1)
Do Until Right(strPath, 1) = ""
strPath = strPath & ""
Loop
End With
strFile = Dir$(strPath & "*.doc")
' If the files are .txt format then change .doc in the line above to .txt
While strFile <> ""
Set oDoc = Documents.Open(strPath & strFile)
'do stuff with the document e.g. call the macro I posted earlier
AddLinks oDoc
' If the files are .txt format then add the following 2 lines
'strName = Left(oDoc.Name, InStrRev(oDoc.Name, ".")) & "docx"
'oDoc.SaveAs2 FileName:=strPath & strName, FileFormat:=12, AddToRecentFiles:=False
oDoc.Close SaveChanges:=wdSaveChanges
strFile = Dir$()
Wend
MsgBox "Processing complete"
lbl_Exit:
Set oDoc = Nothing
Exit Sub
End Sub
Code:
Sub Test() AddLinks ActiveDocument End Sub
__________________
Graham Mayor - MS MVP (Word) (2002-2019) Visit my web site for more programming tips and ready made processes www.gmayor.com |
|
#5
|
|||
|
|||
|
Now it Works!
Thanks gmayor you have really saved my life.
|
|
| Tags |
| link hyperlink filename |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
Insert variable in path name
|
bearcublandon | Word VBA | 6 | 01-03-2019 08:17 PM |
How to replace straight quotes with smart quotes in existing document
|
PABwriter | Word | 4 | 05-27-2016 03:36 PM |
| Changing dumb quotes to smart quotes | Reisende | Word | 2 | 05-02-2016 08:56 PM |
insert auto path & file name in ppt 2013
|
rideninc | PowerPoint | 1 | 01-28-2014 05:38 AM |
Changing single-quotes to double-quotes
|
Bobosmite | Word | 5 | 04-15-2013 06:40 AM |