oxb
Content Type
Profiles
Forums
Events
Posts posted by oxb
-
-
Anyway gotta go sleep now early rise tomorrow.
Thanx for the input!
0 -
I was just trying to show that you did not need the VBS script to edit the doc, the HTA provides all
the information you need to all the tasks.
i know and its very nice but read above it trows an error cant wait to finish?
0 -
Showoff
Very nice, i got whipped by the master
GZonna test now
Good skills
Thanx
Gives an error
Cant wait for process to finish line 169??
0 -
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!
Automation rocks!
I like this stuff but it takes good practice and a lot of google and help from my new found friend Gunsmokingman
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)).
0 -
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 thenBut your`s is better because it echo`s
bear in mind that i`m taking babysteps
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)0 -
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
0 -
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)0 -
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 FunctionNo 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
0 -
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
Next0 -
Here this will sort out the doc type , you will have to work out where to place it in your script.
Dim Fso :Set Fso = CreateObject("Scripting.FileSystemObject")
Dim Obj
For Each Obj In Fso.GetFolder(".").Files
If LCase(Right(Obj.Name,3)) = "doc" Then
WScript.Echo Obj.Name
End If
NextGoing to try this one out thanx yet again
0 -
Still one more question
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)0 -
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
0 -
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 .
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
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
I
0 -
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,FalseGood 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
Maybe we meet again on this forum if i got something else to play around with.
0 -
This is what i came up with (copy paste)
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
0 -
Gunsmokingman
I tried youre script and like it very much
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?
I have been playing about with youre script (tried it myself) but i seem to mess up.
Again thanx for youre effort
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
0 -
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
Will check back later.
Thanx Guys
0 -
Wow man amazing
looks professional now!
Im so pleased, wouldt have never come up with that kind of scripting,
Will take a look this evening gotta go work now.
Much kudo`s to you sir
SUPER
0 -
I will post a updated script with the changes later on.
Great thanx a bunch!
Going to bed now hard days work tomorrow.
Looking forward to test the code
0 -
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
0 -
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.
0 -
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
0 -
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
0 -
@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
0
Noob needs help vbs script change text in word .doc
in Programming (C++, Delphi, VB/VBS, CMD/batch, etc.)
Posted
Hi Gunsmokingman
After implementing youre code to the server and using it for a while, i am pleased to say that its working perfectly
Just wanted to say thanx again for youre help, me and my colleagues are loving it!
I hope i can call on you if i ever need help again.