#1
|
|||
|
|||
Copy Files to a directory
Hello Everyone,
I wonder if there is a way to do following. if I am open a word document from a directory, how do I make a word macro that look at the same directory (get the location, the best if the macro doesn't save the word document I have opened if that is necessary to get the location) copying two .pdf files navigates one level up creates a folder and put the .pdf files there Thank you in advance. All MSofficeForum Members, |
#2
|
||||
|
||||
ActiveDocument.Path will return the current document's folder name. To go up one level, simply strip off the last folder name from that. For example:
Code:
Sub Demo() Dim StrOldPath As String, StrNewPath As String StrOldPath = ActiveDocument.Path StrNewPath = Left(StrOldPath, InStrRev(StrOldPath, "\")) StrOldPath = StrOldPath & "\" MsgBox StrOldPath & vbCr & StrNewPath End Sub
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#3
|
||||
|
||||
Cross-posted at: http://www.vbaexpress.com/forum/show...ctive-location
For cross-posting etiquette, please read: http://www.excelguru.ca/content.php?184
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#4
|
|||
|
|||
Quote:
I am not so familiar with VBA, but this code flawly, how do I make the last steps in my thread copy the .pdf and create folder? Thank you so much in advance sir |
#5
|
||||
|
||||
Create what folder? I also have no idea what particular two PDF files you're referring to.
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#6
|
|||
|
|||
Quote:
then need the macro to create a folder one level up from active part called "translation to" and put the pdfs there. for example: I open source.doc at C:/jobs/341423/source/source.doc "in C:/jobs/341423/source/" there are 2 pdfs. 2 word files. "I need to create a folder in "C:/jobs/341423/translation to" and put the two pdfs from "C:/jobs/341423/source/" to "C:/jobs/341423/translation to" |
#7
|
|||
|
|||
Quote:
I am almost finished need to create folder tho Sub Test1() ' ' Test1 Makro ' Dim StrOldPath As String, StrNewPath As String StrOldPath = ActiveDocument.Path StrNewPath = Left(StrOldPath, InStrRev(StrOldPath, "\")) StrOldPath = StrOldPath & "\" FileExt = "*.pdf*" '<< Change 'You can use *.* for all files or *.doc for Word files If Right(StrOldPath, 1) <> "\" Then StrOldPath = StrOldPath & "\" End If Set FSO = CreateObject("scripting.filesystemobject") If FSO.FolderExists(StrOldPath) = False Then MsgBox StrOldPath & " doesn't exist" Exit Sub End If If FSO.FolderExists(StrNewPath) = False Then MsgBox ToPath & " doesn't exist" Exit Sub End If FSO.CopyFile Source:=StrOldPath & FileExt, Destination:=StrNewPath MsgBox "You can find the files from " & StrOldPath & " in " & StrNewPath End Sub |
#8
|
||||
|
||||
Try:
Code:
Sub Demo() Dim StrOldPath As String, StrNewPath As String, strFile StrOldPath = ActiveDocument.Path StrNewPath = Left(StrOldPath, InStrRev(StrOldPath, "\")) StrOldPath = StrOldPath & "\" StrNewPath = StrNewPath & "translation to\" If Dir(StrNewPath, vbDirectory) = "" Then MkDir StrNewPath End If strFile = Dir(StrOldPath & "*.PDF", vbNormal) While strFile <> "" FileCopy StrOldPath & strFile, StrNewPath & strFile Kill StrOldPath & strFile strFile = Dir() Wend End Sub
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#9
|
|||
|
|||
Thank you sir my problem is solved you are one of the first people on all VBA forums I hang on,
that actually can solve my problem good work man! |
Tags |
copy files, move files, pdf |
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
copy, sync files across 2 folders 1 pc | spgprivate | Office | 0 | 06-20-2013 08:41 AM |
How to copy linked Excel and Word files and retain links | ashleynpeters1 | Word | 1 | 05-30-2013 02:25 PM |
Alphabetize Directory | Moira | Windows | 1 | 05-16-2013 03:20 PM |
Active Directory | ababc | Misc | 0 | 09-19-2006 06:18 AM |
Active Directory | nukkumatti | Misc | 0 | 11-16-2005 08:42 AM |