#16
|
|||
|
|||
Quote:
I get this error, do you know what it could be? "Object variable or With block variable not set" Code:
Sub SaveAsBM() Dim sPath As String: sPath = "C:\server" Dim bmName As String: bmName = "CodiPacient" Dim bm As Bookmark Dim bmValue As String Dim rng_bm As Range If ActiveDocument.Bookmarks.Exists(bmName) Then Set rng_bm = bm.Range If rng_bm.Start = rng_bm.End Then rng_bm.MoveEndWhile cset:="0123456789" bmValue = rng_bm.Text End If sPath = (sPath & "\" & bmValue & "\") Debug.Print ("Creating folder: " & sPath) CreateFolders sPath ActiveDocument.SaveAs sPath & "recepte" & Format(Now, "yyyymmdd hhnnss") & ".pdf" Else Call MsgBox(prompt:=("Unable to find bookmark, " & bmName), buttons:=vbCritical) End If End Sub Private Function CreateFolders(strPath As String) Dim strTempPath As String Dim lng_Path As Long Dim VPath As Variant Dim oFSO As Object Dim i As Integer Set oFSO = CreateObject("Scripting.FileSystemObject") VPath = Split(strPath, "\") If Left(strPath, 2) = "\\" Then strPath = "\\" & VPath(2) & "\" For lng_Path = 3 To UBound(VPath) strPath = strPath & VPath(lng_Path) & "\" If Not oFSO.FolderExists(strPath) Then MkDir strPath Next lng_Path Else strPath = VPath(0) & "\" For lng_Path = 1 To UBound(VPath) strPath = strPath & VPath(lng_Path) & "\" If Not oFSO.FolderExists(strPath) Then MkDir strPath Next lng_Path End If lbl_Exit: Set oFSO = Nothing Exit Function End Function |
#17
|
|||
|
|||
That error is from "bm.Range" not being valid. That was being used in my original code which was looping through all the bookmarks.
So now, you can use this instead. Notice the difference in how this is setting rng_bm. Code:
Sub SaveAsBM() Dim sPath As String: sPath = "C:\Server" Dim bmName As String: bmName = "CodiPacient" Dim bm As Bookmark Dim bmValue As String Dim rng_bm As Range If ActiveDocument.Bookmarks.Exists(bmName) Then Set rng_bm = ActiveDocument.Bookmarks(bmName).Range If rng_bm.Start = rng_bm.End Then rng_bm.MoveEndWhile cset:="0123456789" bmValue = rng_bm.Text End If sPath = (sPath & "\" & bmValue & "\") Debug.Print ("Creating folder: " & sPath) CreateFolders sPath ActiveDocument.SaveAs sPath & "recepte" & Format(Now, "yyyymmdd hhnnss") & ".pdf" Else Call MsgBox(prompt:=("Unable to find bookmark, " & bmName), buttons:=vbCritical) End If End Sub |
#18
|
|||
|
|||
Quote:
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Can I make Word remember the window size and position for each document? | Jennifer Murphy | Word | 4 | 02-20-2023 06:36 PM |
Changing Caption Position on Whole Document at once | Alexandarale | Word Tables | 1 | 11-15-2020 06:56 PM |
Copy selected text from one document and paste to new document in same position on the page | gasparik | Word VBA | 1 | 05-11-2020 05:41 AM |
Starting a document, returning to last position | glennnall | Word | 0 | 10-08-2017 10:09 AM |
VBA: how can I know the position on a document? | tinfanide | Excel Programming | 3 | 02-27-2012 03:24 PM |