Just nu i M3-nätverket
Jump to content

VBA Macro


mattias_targa

Recommended Posts

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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)
Link to comment
Share on other sites

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

Link to comment
Share on other sites

"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).

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...