Just nu i M3-nätverket
Gå till innehåll

VBA Macro


mattias_targa

Rekommendera Poster

mattias_targa

Jag har skapat ett macro som ska skapar en mapp och döper den till ett namn efter innehållet i ett bokmärke

 

När jag skriver ut bokmärket i Word dokumentet kommer det fram tex 4004 men när jag använder värdet i bokmärket  

i mitt macro så står det FORMTEXT 4004 dvs mappen "FORMTEXT 4004" skapas i stället för mappen "4004"

 

Vad gör jag för fel ?

 

 

Sub Skapa_Mapp2()

Dim FSO
Dim Map_name2 As String

Map_name2 = ActiveDocument.Bookmarks("Maskinnr2").Range.Text

Set FSO = CreateObject("Scripting.FileSystemObject")
If Not FSO.FolderExists("\\LCSRV02\databas medarbetare\Objekt\" + Map_name2) Then
FSO.CreateFolder ("\\LCSRV02\databas medarbetare\Objekt\" + Map_name2)
End If

Länk till kommentar
Dela på andra webbplatser

mattias_targa

Hej !

Värdet är "FORMTEXT 4004" så då är det logiskt att mappen döps till detta men när jag skriver ut värdet i worddokumentet är det 4004.

Hittar Word på något själv för att ta bort FORMTEXT eller ?

 

Tacksam för förslag

Länk till kommentar
Dela på andra webbplatser

Använder du Word 2007? Det är nog en bugg i det som orsakar problemet för jag får inte fram det med 2013. Googlade på det och fann någon som fick "Formtext" med 2007.

 

Du kan köra en workaround med lite sträng-hantering, lägg till denna rad:

 

Map_name2 = Right(Map_name2, Len(Map_name2) - 9)
Länk till kommentar
Dela på andra webbplatser

mattias_targa

Jag använder Word 2010 men din workaround fungerar perfekt

 

jag är dock lite nyfiken på vad den gör

 

Tack för hjälpen

Länk till kommentar
Dela på andra webbplatser

"Len" mäter längd på textsträng i antal tecken där man sedan drar ifrån 9 vilket är längden på Formtext + mellanslag.

 

Right plockar ut tecknen längst till höger vilket i detta fall blir 4 tecken och 4004 (13-9).

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.



×
×
  • Skapa nytt...