Êîìïüþòåðíûé ôîðóì OSzone.net  

Êîìïüþòåðíûé ôîðóì OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Office (Word, Excel, Outlook è ò.ä.) (http://forum.oszone.net/forumdisplay.php?f=115)
-   -   [ðåøåíî] Ðåäàêòèðîâàíèå Word ôàéë ñ ïîä êîìàíäíîé ñòðîêè (http://forum.oszone.net/showthread.php?t=261066)

DEDI 23-05-2013 01:03 2154425

Ðåäàêòèðîâàíèå Word ôàéë ñ ïîä êîìàíäíîé ñòðîêè
 
Öåëü: îòðåäàêòèðîâàòü äîêóìåíò Word ñ ïîä êîìàíäíîé ñòðîêè (èçìåíÿòñÿ áóäåò: íîìåð äîêóìåíòà, èìÿ\ôàìèëèÿ )

Ïîäîéäåò â ïðèíöèïå è Excel.

ÿ òàê ïðåäïîëàãàþ ÷òî áóäåò âûãëÿäèò ïðèìåðíî òàê:
Öèòàòà:

word.exe c:\doc.doc %NO% %NAME%

Iska 23-05-2013 02:27 2154452

Öèòàòà:

Öèòàòà DEDI
ÿ òàê ïðåäïîëàãàþ ÷òî áóäåò âûãëÿäèò ïðèìåðíî òàê: »

DEDI, íå ïðåäïîëàãàéòå, òàê — íå áóäåò.

Öèòàòà:

Öèòàòà DEDI
Ïîäîéäåò â ïðèíöèïå è Excel. »

Excel íå ïîäîéä¸ò â ïðèíöèïå.

Âûêëàäûâàéòå îáðàçåö äîêóìåíòà. Óêàçûâàéòå, ÷òî è íà ÷òî íóæíî èçìåíÿòü.

DEDI 23-05-2013 19:42 2155014

Âëîæåíèé: 1
  • user.zip (5.30 KB, ñêà÷èâàíèé: 12)
Ïðèìåðíî òàê, äîêóìåíò íå ñîñòàâëÿëñÿ ò.ê. íå èçâåñòíî ìîæíî ëè ðåàëèçîâàòü ýòî.

Íóæíî çàäàòü:
Íîìåð êâèòàíöèè - óêàçàòü íîìåð
Êëèåíò - èìÿ ôàìèëèÿ
Ñåðâèñ - òàì ìîãóò áûòü êàê öèôðû òàê è áóêâû

Iska 23-05-2013 21:54 2155103

Ïîïðîáóéòå òàê:
÷èòàòü äàëüøå »
Êîä:

Option Explicit

Const wdReplaceAll = 2

Dim strDocument
Dim strTicket
Dim strClient
Dim strService

Dim objFSO

Dim arrStrings


If WScript.Arguments.Count = 4 Then
        strDocument = WScript.Arguments.Item(0)
        strTicket  = WScript.Arguments.Item(1)
        strClient  = WScript.Arguments.Item(2)
        strService  = WScript.Arguments.Item(3)
       
        Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
       
        If objFSO.FileExists(strDocument) Then
                With WScript.CreateObject("Word.Application")
                        With .Documents.Open(strDocument)
                                For Each arrStrings In Array( _
                                                Array("Íîìåð êâèòàíöèè", strTicket), _
                                                Array("Êëèåíò",          strClient), _
                                                Array("Ñåðâèñ",          strService) _
                                        )
                                       
                                        With .Content.Find
                                                .ClearFormatting
                                                .Text = "(" & arrStrings(0) & ": )(*)(^13)"
                                               
                                                .MatchWildcards = True
                                                .Format        = False
                                                .MatchCase      = True
                                               
                                                With .Replacement
                                                        .ClearFormatting
                                                        .Text = "\1" & arrStrings(1) & "\3"
                                                End With
                                               
                                                .Execute , , , , , , , , , , wdReplaceAll
                                        End With
                                Next
                               
                                .Save
                                .Close
                        End With
                       
                        .Quit
                End With
        Else
                WScript.Echo "Can't find document [" & strDocument & "]."
        End If
Else
        WScript.Echo "Usage: cscript.exe //nologo """ & WScript.ScriptName & """ <Document> <Ticket> <Client> <Service>"
End If

WScript.Quit 0


DEDI 24-05-2013 02:40 2155203

Iska, Îãðîìíîå ñïàñèáî! òî ÷òî íóæíî :)

Iska, åùå îäèí âîïðîñ, íåîáõîäèìî äîáàâèòü åùå îäíî çíà÷åíèå. ß ïîïðîáîâàë íî ñêðèïò ïåðåñòàë ðàáîòàòü =(. Ãäå ÿ îøèáñÿ?

Îøèáêà: Ïîëå "Çàìåíèòü íà" ñîäåðæèò ÷èñëî, âûõîäÿùåå çà ïðåäåëû äèàïàçîíà. êîä: 800A15F7

Êîìàíäà: "%~dp0data_wscript.vbs" "%~dp0temp.doc" "12" "vasia pupkin" "9999999999" "internet connect"

÷èòàòü äàëüøå »
Êîä:

Option Explicit

Const wdReplaceAll = 2

Dim strDocument
Dim strTicketNumber
Dim strClient
Dim strMobileTel
Dim strService

Dim objFSO

Dim arrStrings


If WScript.Arguments.Count = 5 Then
        strDocument    = WScript.Arguments.Item(0)
        strTicketNumber = WScript.Arguments.Item(1)
        strClient      = WScript.Arguments.Item(2)
        strMobileTel    = WScript.Arguments.Item(3)
        strService      = WScript.Arguments.Item(4)
       
        Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
       
        If objFSO.FileExists(strDocument) Then
                With WScript.CreateObject("Word.Application")
                        With .Documents.Open(strDocument)
                                For Each arrStrings In Array( _
                                                Array("Íîìåð",          strTicketNumber), _
                                                Array("Êëèåíò (ÔÈÎ)",  strClient), _
                                                Array("Íîìåð òåëåôîíà", strMobileTel), _
                                                Array("Ñåðâèñ",        strService) _
                                        )

                                        With .Content.Find
                                                .ClearFormatting
                                                .Text = "(" & arrStrings(0) & ": )(*)(^13)"
                                               
                                                .MatchWildcards = True
                                                .Format        = False
                                                .MatchCase      = True
                                               
                                                With .Replacement
                                                        .ClearFormatting
                                                        .Text = "\1" & arrStrings(1) & "\4"
                                                End With
                                               
                                                .Execute , , , , , , , , , , , , , , wdReplaceAll
                                        End With
                                Next
                               
                                .Save
                                .Close
                        End With
                       
                        .Quit
                End With
        Else
                WScript.Echo "Can't find document [" & strDocument & "]."
        End If
Else
        WScript.Echo "Usage: cscript.exe //nologo """ & WScript.ScriptName & """ <Document> <Ticket>

<Client> <Service>"
End If

WScript.Quit 0



Çàðàíåå ñïàñèáî.

Iska 24-05-2013 03:03 2155210

Âûëîæèòå íîâûé îáðàçåö äîêóìåíòà.

Öèòàòà:

Öèòàòà DEDI
íåîáõîäèìî äîáàâèòü åùå îäíî çíà÷åíèå. »

Êàêîå èìåííî?

Öèòàòà:

Öèòàòà DEDI
Êîä:

Array("Êëèåíò \(ÔÈÎ\)", strClient), _
»

Ïîèñê è çàìåíà òåêñòà èëè äðóãèõ ýëåìåíòîâ - Word - Office.com:
Öèòàòà:

×òîáû íàéòè çíàê, ÿâëÿþùèéñÿ îäíèì èç ïîäñòàíîâî÷íûõ çíàêîâ, ââåäèòå ïåðåä íèì îáðàòíóþ êîñóþ ÷åðòó (\). Íàïðèìåð, ââåäèòå \?, ÷òîáû íàéòè âîïðîñèòåëüíûé çíàê.


Âðåìÿ: 19:55.

Âðåìÿ: 19:55.
© OSzone.net 2001-