Jump to content

oxb

Member
  • Posts

    29
  • Joined

  • Last visited

  • Donations

    0.00 USD 
  • Country

    Netherlands

Posts posted by oxb

  1. Got the script to run without any userinput at all.

    It now finds the ?????.doc copies it to the found name _factuur.doc

    There wil only be one file in each dir using _offerte.doc so it will never take the wrong file.

    deletes itself and presto! :thumbup

    Automation rocks!

    I like this stuff but it takes good practice and a lot of google and help from my new found friend Gunsmokingman :lol:


    V\currentDirectory = left(WScript.ScriptFullName,(Len(WScript.ScriptFullName))-(len(WScript.ScriptName)))
    Dim Fso :Set Fso = CreateObject("Scripting.FileSystemObject")
    Dim Obj

    For Each Obj In Fso.GetFolder(".").Files
    If LCase(Right(Obj.Name,12)) = "_offerte.doc" Then
    sText = Obj.name
    sText = Left(sText, Len(sText) - 12)

    Set FSO = CreateObject("Scripting.FileSystemObject")

    fso.copyfile Obj.name , sText & "_factuur.doc"


    End If
    Next



    Const wdReplaceAll = 2
    Set oWord = CreateObject("Word.Application")
    oWord.Visible = True
    set oDoc = oWord.Documents.Open (currentdirectory & sText & "_factuur.doc")
    With oWord.Selection
    .Find.Text = "Offerte:"
    .Find.Replacement.Text = "factuur:"
    .Find.Forward = True
    .Find.MatchWholeWord = True
    .Find.Execute ,,,,,,,,,,wdReplaceAll
    .Find.Text = "Na eventuele accordatie stellen wij betaling per pin op prijs."
    .Find.Replacement.Text = "Wij danken u voor uw opdracht, graag betaling via PIN"
    .Find.Forward = True
    .Find.MatchWholeWord = True
    .Find.Execute ,,,,,,,,,,wdReplaceAll

    End With
    oDoc.Save

    Set objFSO = CreateObject("Scripting.FileSystemObject")



    strScript = Wscript.ScriptFullName
    objFSO.DeleteFile(strScript)

    PS i edited the Hta accordingly (If Fso.driveExists (myCur)).

    :hello:

  2. I came up with this


    input = Inputbox("Geef naam, bijv: De Groot >Zonder _offerte.doc!")
    if IsNull(strValue) then
    strValue = 0
    Else strValue = (strValue)
    end If
    if strvalue <> 1 then

    But your`s is better because it echo`s

    bear in mind that i`m taking babysteps :yes:

    Also i edited the .hta file so that the dir it runs from it sets the driveletter and dir to use.

    It runs ok, but do you see a problem with it?


    Set objShell = CreateObject("WScript.Shell")
    myCur = objShell.CurrentDirectory
    If Fso.driveExists (myCur) Then <NOT SURE ABOUT THIS LINE BEEING CORRECT
    '-> Make First Folder Then Copy offerte.doc
    Dim P = (myCur & "\2013\") & LCase(In1.value)

  3. You do know that if they close that inputbox without any input, the script will name the filles,

    _offerte.doc. Which is very bad coding practice, it should be coded to prevent empty input.

    Since I am only a untrained amateur, and if I was your boss and I saw this bad script you

    would be looking for a new job quickly.

    I tried that and nothing happens?

    So no probs there.

    Greetz

  4. Hmmkay

    I think i`ll better stick to my first script where the user inputs the name of the file to be altered.

    This way i get my userinput_offerte.doc and userinput_factuur.doc

    Further all is working perfect im very glad you helped me get there.

    Just wanted to take away the user input.

    Thanks again.

    Using this script now


    currentDirectory = left(WScript.ScriptFullName,(Len(WScript.ScriptFullName))-(len(WScript.ScriptName)))
    input = Inputbox("Geef naam, bijv: De Groot >Zonder _offerte.doc!")
    dim fso
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Fso.Copyfile input & "_offerte.doc" , input & "_factuur.doc"
    Const wdReplaceAll = 2
    Set oWord = CreateObject("Word.Application")
    oWord.Visible = False
    set oDoc = oWord.Documents.Open (currentdirectory & input & "_factuur.doc")
    With oWord.Selection
    .Find.Text = "Offerte:"
    .Find.Replacement.Text = "factuur:"
    .Find.Forward = True
    .Find.MatchWholeWord = True
    .Find.Execute ,,,,,,,,,,wdReplaceAll
    .Find.Text = "Na eventuele accordatie stellen wij betaling per pin op prijs."
    .Find.Replacement.Text = "Wij danken u voor uw opdracht, graag betaling via PIN"
    .Find.Forward = True
    .Find.MatchWholeWord = True
    .Find.Execute ,,,,,,,,,,wdReplaceAll

    End With
    oDoc.Save
    oDoc.Close
    set oDoc = oWord.Documents.Open (currentdirectory & input & "_factuur.doc")
    oWord.Visible = true

    Set objFSO = CreateObject("Scripting.FileSystemObject")



    strScript = Wscript.ScriptFullName
    objFSO.DeleteFile(strScript)

  5. Have you ever thought of just adding the vbs script to the hta.

    Example


    Function ProcessFinished()
    '-> Open User Input Doc
    Act.Run(Chr(34) & UserDoc & Chr(34)),1,False
    window.clearTimeout(Tm1)
    window.close()
    End Function


    Function ProcessFinished()
    '-> Open User Input Doc
    Act.Run(Chr(34) & UserDoc & Chr(34)),1,True
    '-> Code To Do Whatever DOC
    window.clearTimeout(Tm1)
    window.close()
    End Function

    No because it is an option to run, and it will only need to run after the offerte.doc is filled in.

    There is a chance it will never be run if the order is cancelled.

    Have you got any ideas how to edit the vbs so that the file is copied to name_factuur?

    Greetz oscar

  6. Ok

    So far so good

    The file is found the script does its magic.

    Now im left with another question

    i need the file to be copied and saved as a new document but i need part of the name replaced.

    What i am left with now is name_offerte.doc is copied over to name_offerte.docfactuur.doc<in one line

    Is there a way to take the last part of the string in name_offerte.doc where i only get the name as a string minus _offerte.doc?

    I read you can use replace function but i cant see to implement that

    The tricky thing is the file needs to be opened at the end so if i rename it how do i open it if i dont know its name if the name is not always the same.(only the end part _offerte.doc, or _factuur.doc)

    dont know if i make any sense but what i need is the file to be opened word replace takes place and file needs to be saved as name_factuur.doc


    CD = left(WScript.ScriptFullName,(Len(WScript.ScriptFullName))-(len(WScript.ScriptName)))

    Dim Fso :Set Fso = CreateObject("Scripting.FileSystemObject")
    Dim Obj

    For Each Obj In Fso.GetFolder(".").Files
    If LCase(Right(Obj.Name,3)) = "doc" Then
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Fso.Copyfile Obj.name , Obj.name & "" & "Factuur.doc"

    Set oWord = CreateObject("Word.Application")
    oWord.Visible = True
    set oDoc = oWord.Documents.Open (CD & Obj.name & "factuur.doc")
    With oWord.Selection
    .Find.Text = "Offerte:"
    .Find.Replacement.Text = "factuur:"
    .Find.Forward = True
    .Find.MatchWholeWord = True
    .Find.Execute ,,,,,,,,,,wdReplaceAll
    .Find.Text = "Na eventuele accordatie stellen wij betaling per pin op prijs."
    .Find.Replacement.Text = "Wij danken u voor uw opdracht, graag betaling via PIN"
    .Find.Forward = True
    .Find.MatchWholeWord = True
    .Find.Execute ,,,,,,,,,,wdReplaceAll

    End With
    oDoc.Save
    oDoc.Close
    set oDoc = oWord.Documents.Open (CD & Obj.name & "factuur.doc")
    oWord.Visible = true

    Set objFSO = CreateObject("Scripting.FileSystemObject")



    strScript = Wscript.ScriptFullName
    objFSO.DeleteFile(strScript)
    End if
    Next

  7. Still one more question :lol:

    How can i make this script look for the .doc file and automaticly use that .doc?

    This vbs wil be in the same folder as the userinput,doc

    The userinput.doc name will change every time so i would like to use a wildcard like in dos *.doc but dont know how to do it in vbs.

    Note that there wil be only one .doc file in the same directory as this vbs script. it wil always be named like this userinput_offerte.doc.

    I wouldt like to take out the userinput just click and go.


    currentDirectory = left(WScript.ScriptFullName,(Len(WScript.ScriptFullName))-(len(WScript.ScriptName)))
    input = Inputbox("Geef naam, bijv: De Groot")
    dim fso
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Fso.Copyfile input & "_offerte.doc" , input & "_factuur.doc"
    Const wdReplaceAll = 2
    Set oWord = CreateObject("Word.Application")
    oWord.Visible =True
    set oDoc = oWord.Documents.Open (currentdirectory & input & "_factuur.doc")
    With oWord.Selection
    .Find.Text = "Offerte:"
    .Find.Replacement.Text = "factuur:"
    .Find.Forward = True
    .Find.MatchWholeWord = True
    .Find.Execute ,,,,,,,,,,wdReplaceAll
    .Find.Text = "Na eventuele accordatie stellen wij betaling per pin op prijs."
    .Find.Replacement.Text = "Wij danken u voor uw opdracht, graag betaling via PIN"
    .Find.Forward = True
    .Find.MatchWholeWord = True
    .Find.Execute ,,,,,,,,,,wdReplaceAll

    End With
    oDoc.Save


    Set objFSO = CreateObject("Scripting.FileSystemObject")



    strScript = Wscript.ScriptFullName
    objFSO.DeleteFile(strScript)

  8. Damnit Got a problem

    Today i tried to run the script on the NAS but i believe the path is not correct.

    On the pc there is a network connection to the drive (Z:)

    In the script i tried to put in the networkdriveletter Z:

    The script runs and gives error not finding document, the folder is not created and there are no files copied.

    Do i have to fill in something like %networkdrive% or %networkpath% in line 137/139

    So dissapointed here at home everything worked fine even got the script to take user input to fill in the adress in the document.

    I

    Any ideas?

    Thanx

    EDIT

    Nevermind got it fixed stupid was running the hta locally not from nas drive :blushing:

  9. If you see the amount of code used to do something this simple you get some more respect for coders and programmers.

    We are all accustomed that the pc works when we turn it on, but really never stand stil by whats behind it all.

    That is the initial steep of the curve, after you will get the hang of it you will probably start wondering how come that some (not necessarily all :)) programmers have this quirk for selling you trifling things as if they were the only geniuses on earth capable of doing that :ph34r: .

    Seriously, I have seen guys putting together half @§§ed MS Access "custom databases" (actually no more that a few forms and reports) talking as if they were Linus Torvalds or Sergey Brin :w00t:

    jaclaz

    LoL Yeah i know what you mean, i am quite good as to setting up a network enviroment as a hobby.

    Sometimes i have some it guy come over and i have to make corrections to his s***.

    My brother in law wanted a vpn connection to his office, the reply was: not possible! you need new computers

    i spend some time on it and got it to work.

    Just tried to rip him off :realmad:

    :hello:

    I

  10. Your code only adds the User Input


    F.Copy P & "\" & In2.value & "_offerte.doc"

    Where as I replace the offerte with the User Input


    UserDoc = P & "\" & Replace(F1a,Left(F1a,7),In2.value)

    Here is how I open the rename doc, the name and path can have as many

    spaces in it name and it will open.

     
    '-> Open User Input Doc
    Act.Run(Chr(34) & UserDoc & Chr(34)),1,False

    Good job at finishing the HTA your self

    Thanks for all the effort,

    And thanks for the good job statement that means a lot coming from you.

    Thanks to the others for the input i got a little wizer in scripting.

    The thing is sometimes i want something automated and then i go all-in.

    But it takes a long time before i have a new project, and by then i forgot most part of it.

    If you see the amount of code used to do something this simple you get some more respect for coders and programmers.

    We are all accustomed that the pc works when we turn it on, but really never stand stil by whats behind it all.

    So respect to all of you :thumbup

    Maybe we meet again on this forum if i got something else to play around with.

  11. This is what i came up with (copy paste) :lol:

    Some text changed to my langauge


    <!--
    February-05-13
    Hta And Script By Gunsmokingman Aka Jake1Eye
    -->
    <TITLE>Maak Offerte</TITLE>
    <HTA:APPLICATION ID="InMkDir"
    SCROLL="No"
    SCROLLFLAT ="No"
    SingleInstance="Yes"
    ShowInTaskbar="No"
    SysMenu="No"
    MaximizeButton="No"
    MinimizeButton="No"
    Border="Thin"
    BORDERSTYLE ="complex"
    INNERBORDER ="No"
    Caption="Yes"
    WindowState="Normal"
    APPLICATIONNAME="InMkDir"
    Icon="%SystemRoot%\explorer.exe">
    <STYLE type="text/css">
    Body
    {
    Font-Size:9.25pt;
    Font-Weight:Bold;
    Font-Family:Segoe Ui, Arial,Tahoma,Comic Sans MS;
    Color:Black;
    BackGround-Color:#EFE9E3;
    Text-Align:Center;
    Vertical-Align:Top;
    }
    TD
    {
    Font-Size:8.25pt;
    Font-Weight:Bold;
    Font-Family:Segoe Ui, Arial,Tahoma,Comic Sans MS;
    Color:Black;
    }
    .Tbx
    {
    Font-Size:8.25pt;
    Font-Weight:Bold;
    Font-Family:Segoe Ui, Arial,Tahoma,Comic Sans MS;
    Color:Black;
    }
    BUTTON
    {
    Height:15pt;
    width:60pt;
    Cursor:Hand;
    Font:8.05pt;
    Font-weight:bold;
    Font-Family:Segoe Ui, Arial,Tahoma,Comic Sans MS;
    Color:#404040;
    Text-Align:Center;
    Vertical-Align:Middle;
    filter:progid:DXImageTransform.Microsoft.Gradient
    (StartColorStr='#E5E5E5',EndColorStr='#7D7D7D');
    Margin:1;
    Margin-Top:15pt;
    Padding:2;
    Border-Left: 1px Transparent;
    Border-Right: 2px Transparent;
    Border-Top: 1px Transparent;
    Border-Bottom: 2px Transparent;
    }
    </STYLE>
    <script LANGUAGE='VBScript'>
    '-> Resize And Place In Approx Center Of Screen
    Dim Wth, Hht :Wth = int(475) :Hht = int(225)
    window.ResizeTo Wth, Hht
    MoveTo ((Screen.Width / 2) - (Wth / 2)),((Screen.Height / 2) - (Hht / 2))
    '-> Run Time Objects
    Dim Act :Set Act = CreateObject("Wscript.Shell")
    Dim Fso :Set Fso = CreateObject("Scripting.FileSystemObject")
    '-> RunTime Varibles
    Dim F1, F2, F1a, F2a, Msg1, Tm1, Tm2
    Msg1=". FOUT " & _
    "VRAAG OSCAR HULP"
    F1a="offerte.doc"
    F2a="factuur.vbs"
    Function Window_OnLoad()
    '-> Check To Make Both Files Exists
    CheckFile(F1a)
    CheckFile(F2a)
    If F1 = True And F2 = True Then
    Tx1.style.visibility = ""
    Tx1.style.color="#117711"
    Tx1.innerHTML = "Confirm " & F1a & " Confirm " & F2a
    ElseIf F1 = True And F2 = False Then
    DisableTextBoxes()
    Tx1.innerHTML = "Confirm " & F1a & " Missing " & F2a & Msg1
    ElseIf F1 = False And F2 = True Then
    DisableTextBoxes()
    Tx1.innerHTML = "Missing " & F1a & " Confirm " & F2a & Msg1
    ElseIf F1 = False And F2 = False Then
    DisableTextBoxes()
    Tx1.innerHTML = "Missing " & F1a & " Missing " & F2a & Msg1
    End If
    End Function
    '-> Checks For Files
    Function CheckFile(F)
    If Fso.FileExists(F) And F=F1a Then F1 = True
    If Fso.FileExists(F) And F=F2a Then F2 = True
    End Function
    '-> If Any File Is Missing Disable The TextBox
    Function DisableTextBoxes()
    Tx1.style.visibility = ""
    Tx1.style.Bottom = 35
    Tx1.style.Left = 40
    Tx1.style.width = 375
    Tx1.Align="Left"
    Tx1.style.color="#980000"
    In1.disabled = True
    In2.disabled = True
    End Function
    '-> Process The Submit Button
    Function MySubmit()
    Tx1.style.color="#980000"
    If Len(In1.value) = 1 And Len(In2.value) >= 3 Then
    Tx1.style.color="#117711" :Tx1.style.Bottom = 35
    Tx1.innerHTML = "Bevestigd, Bezig met Offerte<BR>" & _
    " " & In2.value
    Display()
    ElseIf Len(In1.value) = 0 And Len(In2.value) = 0 Then
    Tx1.innerHTML = "Fout,Voer beide velden in!"
    ElseIf Len(In1.value) = 1 And Len(In2.value) = 0 Then
    Tx1.innerHTML = "Fout, Voer naam in!"
    ElseIf Len(In1.value) = 1 And Len(In2.value) <= 3 Then
    Tx1.innerHTML = "Fout, Naam minimaal 3 letters"
    ElseIf Len(In1.value) = 0 And Len(In2.value) >= 3 Then
    Tx1.innerHTML = "Fout, Voer alfabetische letter in!"
    End If
    End Function
    '-> Process The Information
    Function ProcessMySubmit()
    If Fso.DriveExists("D:\") Then
    '-> Make First Folder Then Copy offerte.doc
    Dim P ="D:\" & LCase(In1.value)
    If Not Fso.FolderExists(P) Then Fso.CreateFolder(P)
    '-> Make Second Folder Then Copy factuur.vbs
    P = P & "\" & In2.value
    If Not Fso.FolderExists(P) Then Fso.CreateFolder(P)
    Set F=Fso.GetFile(F2a)
    F.Copy P & "\" & F.Name,True
    Set F=Fso.Getfile(F1a)
    F.Copy P & "\" & In2.value & "_offerte.doc"
    Set oWord = CreateObject("Word.Application")
    set oDoc = oWord.Documents.Open (P & "\" & In2.value & "_offerte.doc")
    oWord.Visible = true
    End If
    MsgDisplay()
    End Function
    '-> Time Dealy Then Close
    Function Display()
    Tm1=window.setTimeout("Process1()",5000,"VBScript")
    End Function
    Function Process1()
    window.clearTimeout(Tm1)
    ProcessMySubmit()
    End Function
    '-> Time Dealy Then Close
    Function MsgDisplay()
    Tx1.style.color="#3377AD"
    Tx1.style.Bottom = 39
    Tx1.innerHTML = "Offerte Klaar"
    Tm2=window.setTimeout("ProcessFinished()",2000,"VBScript")

    End Function
    Function ProcessFinished()
    window.clearTimeout(Tm2)
    window.close()
    End Function
    </SCRIPT>
    <BODY>
    <!-- Folder Letter -->
    <TABLE Border='1'><TD Style='Width:385;Text-Align:Left;'>
    Voer alfabetische letter in</TD><TD Style=''>
    <INPUT Type='TextBox' ID='In1' Class='Tbx' Size='1' MAXLENGTH='1'>
    </TD></TABLE>
    <!-- User Name -->
    <TABLE Border='1'><TD Style='Width:325;Text-Align:Left;'>
    Naam klant</TD><TD Style=''>
    <INPUT Type='TextBox' ID='In2' Class='Tbx' Size='35' MAXLENGTH='128'>
    </TD></TABLE>
    <BUTTON ID='Bn1' OnClick='MySubmit()'>Start</BUTTON>
    <BUTTON ID='Bn2' OnClick='window.close()'>Sluiten</BUTTON>
    <!-- For Positioning The Tx1 Div Small And Large Text
    <DIV Style='Width:275;'>Confirm offerte1.doc Confirm factuur.vbs.
    </DIV>
    <DIV Style='Width:375;Margin-Top:22pt;Text-Align:Left;'>
    Missing offerte1.doc Confirm factuur.vbs. The
    Textboxes Have Been Disable, Contact The System Admin To
    Get The Missing Files</DIV>
    -->
    <DIV ID='Tx1' Style='visibility:hidden;Position:Absolute;
    Bottom:49;Left:90;Width:275;'></DIV>
    </BODY>

    Gunsmokingman added code tags

  12. Gunsmokingman

    I tried youre script and like it very much :thumbup

    However there are 2 (for you ) small things

    The offerte.doc needs to be in the same folder as factuur.vbs ex folder J >john doe >factuur.vbs+offerte.doc< wich needs to be renamed to> john doe.doc

    The situation now is J>offerte.doc > john doe > factuur.vbs

    The offerte.doc shouldt be renamed after the user input > john doe .doc

    Also couldt you please edit script that after creation of john doe.doc it gets opened in word? :unsure:

    I have been playing about with youre script (tried it myself) but i seem to mess up.

    Again thanx for youre effort :thumbup

    EDIT

    Nevermind i tried and figured out myself how to do it.

    Thanx for all your hard work Gunsmokeman

    Thank you jaclaz

    If you ever need new carpet ill hop on a plane and install that for you :w00t:

  13. Hi jaclaz

    Sorry i didnt see youre post ,you are right it better to let the script find its way.

    Didnt know that was possible, again big Noob at scripting.

    But the script you provided is under dos, i like the vbs option better (look and feel)

    Still youre input is highly appriciated and the script is going in my scripts folder for maybe later use.

    Thank you for the effort and input.

    Going to test the vbscript Gunsmokingman provided :hello:

    Will check back later.

    Thanx Guys

  14. Cool very nice

    If you couldt please add to youre code a second inputbox where the user can put in the name of the folder that shouldt be created inside the first folder chosen?

    So first choose folder letter>(you aced that) > after that type in name of client >(inputbox) >save offerte.doc to the name of the client in a subfolder also named after the client?

    like folder J >folder John doe>john doe.doc< wich was offerte.doc.

    Factuur.vbs needs to be in the same folder no rename.

    After copy> creation the userinput.doc needs to be opened.

    Thank you for all youre work!

    I am very happy with the script :)

  15. Wow thats fast

    What i forgot to say that the letters used are not driveletters but folders.

    Each folder contains a offer with the name of the client (stored in a folder named after the client, taken with user iput)

    So structure is

    networkdrive> folder >a folder >Ajax (offerte.doc copied to folder ajax as ajax.doc)

    So the user first gives in the correct folder letter a,b,c,d,..etc

    Then in the chosen folder a,b,c..etc a directory wil be created (user input) and the files offerte.doc and factuur.vbs will be copied there.

    Later on when the text need to be altered to a bill/invoice the user will start factuur.bat and the invoice is done.

    Hope you understand my english is ok ,but dont know if offer is the right word for it.

    As i said everything works so if its to much trouble dont bother, its just i think neater in vb.

    only one question remains, in my dos batch the userinput cant have spaces in the filled in name like> john doe it has to be john_doe.

    Thank you very much.

  16. It always good practice when using VBS to include checks to prevents errors. Your script will

    still run even if the Inputbox is blank, the cancel being pressed, the X being pressed, that

    would caused it to error out.

    Another way to get CurrentDirectory=Replace(WScript.ScriptFullName,"\"&WScript.ScriptName,"")

    Noted wil inplement it.

    I have accoplished with youre help what i tried to do, however i got one big batch file wich does take user input create dir copy files etc.

    What i would really like to do is take the commands in the batch ad make it run onder vb.

    Like i said everything working fine now, only thing is that my batch could look better in vb, and couldt be less messy.

    If you have some time to spare please take a look at my batch DONT LAUGH :)

    Maybe you got a shorter solution to my situation.

    Again it works but maybe a little messy.

    Thanx again.

    @echo off

    cls

    rem PUSHD network Path to be filled in later

    Echo Geef alfabetische letter en druk op enter!

    choice /C:abcdefghijklmnopqrstuvwxyz /N >NUL

    if '%errorlevel%'=='1' copy offerte.doc a & copy factuur.vbs a & cd a & Set directory=a

    if '%errorlevel%'=='2' copy offerte.doc b & copy factuur.vbs b & cd b & Set directory=b

    if '%errorlevel%'=='3' copy offerte.doc c & copy factuur.vbs c & cd c & Set directory=c

    if '%errorlevel%'=='4' copy offerte.doc d & copy factuur.vbs d & cd d & Set directory=d

    if '%errorlevel%'=='5' copy offerte.doc e & copy factuur.vbs e & cd e & Set directory=e

    if '%errorlevel%'=='6' copy offerte.doc f & copy factuur.vbs f & cd f & Set directory=f

    if '%errorlevel%'=='7' copy offerte.doc g & copy factuur.vbs g & cd g & Set directory=g

    if '%errorlevel%'=='8' copy offerte.doc h & copy factuur.vbs h & cd h & Set directory=h

    if '%errorlevel%'=='9' copy offerte.doc i & copy factuur.vbs i & cd i & Set directory=i

    if '%errorlevel%'=='10' copy offerte.doc j & copy factuur.vbs j & cd j & Set directory=j

    if '%errorlevel%'=='11' copy offerte.doc k & copy factuur.vbs k & cd k & Set directory=k

    if '%errorlevel%'=='12' copy offerte.doc l & copy factuur.vbs l & cd l & Set directory=l

    if '%errorlevel%'=='13' copy offerte.doc m & copy factuur.vbs m & cd m & Set directory=m

    if '%errorlevel%'=='14' copy offerte.doc n & copy factuur.vbs n & cd n & Set directory=n

    if '%errorlevel%'=='15' copy offerte.doc o & copy factuur.vbs o & cd o & Set directory=o

    if '%errorlevel%'=='16' copy offerte.doc p & copy factuur.vbs p & cd p & Set directory=p

    if '%errorlevel%'=='17' copy offerte.doc q & copy factuur.vbs q & cd q & Set directory=q

    if '%errorlevel%'=='18' copy offerte.doc r & copy factuur.vbs r & cd r & Set directory=r

    if '%errorlevel%'=='19' copy offerte.doc s & copy factuur.vbs s & cd s & Set directory=s

    if '%errorlevel%'=='20' copy offerte.doc t & copy factuur.vbs t & cd t & Set directory=t

    if '%errorlevel%'=='21' copy offerte.doc u & copy factuur.vbs u & cd u & Set directory=u

    if '%errorlevel%'=='22' copy offerte.doc v & copy factuur.vbs v & cd v & Set directory=v

    if '%errorlevel%'=='23' copy offerte.doc w & copy factuur.vbs w & cd w & Set directory=w

    if '%errorlevel%'=='24' copy offerte.doc x & copy factuur.vbs x & cd x & Set directory=x

    if '%errorlevel%'=='25' copy offerte.doc y & copy factuur.vbs y & cd y & Set directory=y

    if '%errorlevel%'=='26' copy offerte.doc z & copy factuur.vbs z & cd z & Set directory=z

    set cd=%cd&

    set newfolder=

    set /p newfolder=Achternaam ZONDER SPATIE wat wel kan Van_Zanten dus met underscore!!!:

    if {%newfolder%}=={} goto :end

    mkdir %newfolder%

    move factuur.vbs %newfolder%

    move offerte.doc %newfolder%

    cd %newfolder%

    rename offerte.doc %newfolder%.doc

    start %newfolder%.doc

    cd..

    endlocal

    exit

    Probably already got a smile on youre face, dont you?

    Greets Oscar

  17. SUCCES

    As mentioned earlier the path was missing!

    Thank you very much Gunsmokingman im a happy camper now.

    Greetz from Holland

    Ended up with this vbs file

    currentDirectory = left(WScript.ScriptFullName,(Len(WScript.ScriptFullName))-(len(WScript.ScriptName)))

    WScript.Echo currentDirectory

    input = Inputbox("Enter filename")

    Const wdReplaceAll = 2

    Set oWord = CreateObject("Word.Application")

    oWord.Visible = false

    set oDoc = oWord.Documents.Open (currentdirectory & input & ".doc")

    With oWord.Selection

    .Find.Text = "Offerte:"

    .Find.Replacement.Text = "factuur:"

    .Find.Forward = True

    .Find.MatchWholeWord = True

    .Find.Execute ,,,,,,,,,,wdReplaceAll

    .Find.Text = "Na eventuele accordatie stellen wij betaling per pin op prijs."

    .Find.Replacement.Text = "Wij danken u voor uw opdracht, graag betaling via PIN"

    .Find.Forward = True

    .Find.MatchWholeWord = True

    .Find.Execute ,,,,,,,,,,wdReplaceAll

    End With

    oDoc.Save

    oDoc.Close

    oWord.Quit

  18. @jaclaz

    i read up about mailmerge but its not suitable for me.

    Thanx for the input though.

    @gunsmokingman

    Thanx for the script but when i run the script i get the message File not found?

    I know for sure the file is there.

    I am lost now dont know how to proceed, strange the file is present, name is passed on fine but no luck.

    EDIT my guess is that the line set oDoc = oWord.Documents.Open (name & ".doc") is missing the full path to the directory.

    The script opens word in the background and opens the requested file but i think (correct me if i am wrong) that word needs the full path,

    or does it run in the same folder where the vbs file was started?

    Thanx again

×
×
  • Create New...