Friday, October 7, 2016

Multiple styles in a single word doc paragraph or line of text , docpara






+

Sto cercando di creare un documento word, dal codice in fase di esecuzione, in un'applicazione di Visual Basic 2010. Il requisito è che alcuni elementi del testo all'interno di un paragrafo o riga di testo bisogno di una formattazione diversa rispetto agli altri elementi nello stesso paragrafo o riga di testo. & Ldquo; Alcuni testo nella prima parte della linea: Il testo nel resto della stessa linea & rdquo;. Nota: la prima parte è impostato su Arial 12 pt in grassetto e la seconda parte è impostato su Arial 10 pt corsivo. Voglio fare questo senza la necessità di contare su e gestire gli stili in Word sul client & rsquo; s macchina. Lunedi, 22 mese di agosto, 2011 06:41 Risposte Se si aggiungono più paragrafi, quando si imposta Inizio: = HeaderText. IndexOf (& quot;: & quot;) + 2, questa posizione è relativa all'intero documento, non il paragrafo corrente. Così, quando si impostano le partenze di selezione gamma e le estremità, si prega di ricordare di aggiungere la posizione di punto di partenza corrente. Si prega di provare qui di seguito il codice: Se avete dei dubbi, non esitate a seguire. Buona giornata. Liliane Teng [MSFT] MSDN Community Help | Feedback per noi ottenere o Campione codice da Microsoft Ricordatevi di segnare le risposte come risposte se aiutano e li deselezionare se prevedono alcun aiuto. Contrassegnato come risposta da ROberholz Martedì 30 Agosto 2011 16:29 Martedì 30 Agosto 2011 03:24 tutte le risposte Sto cercando di creare un documento word, dal codice in fase di esecuzione, in Visual Basic 2010. Il requisito è che alcuni elementi del testo all'interno di un paragrafo o riga di testo bisogno di una formattazione diversa rispetto agli altri elementi nello stesso paragrafo o riga di testo. & Ldquo; Alcuni testo nella prima parte della linea: Il testo nel resto della stessa linea & rdquo;. Nota: la prima parte è impostato su Arial 12 pt in grassetto e la seconda parte è impostato su Arial 10 pt corsivo. Fusa per Cindy Meister MVP MVP, Moderatore Martedì 23 Agosto 2011 08:48 stessa domanda Lunedi, 22 mese di agosto, 2011 07:12 Basta registrare una macro durante la formattazione tale paragrafo. La macro vi darà idee circa gli oggetti e le loro proerties / metodi coinvolti nel processo. Saluti dalla Bielorussia (GMT + 2), Andrei Smolin Add-in Express Team Leader Lunedi, 22 mese di agosto, 2011 07:51 In VSTO 3.0 con C #, c'è un oggetto chiamato Interop. Range e ha due metodi get_style (stile) e set_style (stile). In un paragrafo o riga di testo è possibile avere più intervalli. Una gamma è definita da due valori int, range. Start e range. End. Spero che questo ti dà un po 'di aiuto. Lunedi, 22 mese di agosto, 2011 10:50 Il trucco è quello di lavorare con l'oggetto Range di Word in modo corretto. Registrazione di una macro per questo non ti dà il codice ottimale perché tutto è fatto con l'oggetto Selection e il codice risultante è in realtà il contrario di quello che vi serve. In linea di principio, si inizia con un oggetto Range che rappresenta in cui il testo dovrebbe iniziare l'inserimento. È possibile assegnare il testo di tale intervallo, poi la formattazione. Poi si comprime la gamma al suo punto finale e ripetere per la prossima sezione di testo che richiede la formattazione diversa. Così ti soulw simile a questa: RNG Dim come tutta Word. Range = theDocument. Content 'documento rng. Text = & quot; Alcuni testo & quot; rng. Font. Name = & quot; Arial & quot; rng. Font. Size = & quot; 12 & quot; rng. Collapse (Word. WdCollapseDirection. wdCollapseEnd) rng. Text = & quot;. e altro testo & quot; rng. Font. Size = & quot; 10 & quot; rng. Font. Name = & quot; Arial & quot; rng. Collapse (Word. WdCollapseDirection. wdCollapseEnd) 'e così via Uso degli stili per la formattazione è più efficiente che l'applicazione di nuovo ogni po ', e ancora, e ancora. 1. Il posto migliore per questa domanda sarebbe la parola per gli sviluppatori forum come a quanto pare non si utilizza la tecnologia VSTO 2. La soluzione migliore per la creazione di documenti di Word non è quello di utilizzare il Interop, ma il formato di file Office Open XML. Troverete maggiori informazioni su questo a OpenXMLDeveloper. org Cindy Meister, VSTO / Word MVP Lunedi, 22 mese di agosto, 2011 12:29 Ho provato questo fuori, ma potevo & rsquo; t ottenere qualcosa da visualizzare nel documento. C'è qualcosa che mi manca? Lunedi, 22 mese di agosto, 2011 06:37 Andrei Smolin Add-in Express Team Leader Lunedi, 22 mese di agosto, 2011 07:48 Grazie per il tuo post. Si potrebbe prima inserire questo paragrafo in Word con il primo formato parte. E quindi selezionare la seconda parte e cambiare il suo formato. Si prega di provare sotto il codice che implementa ciò che si vuole: Se avete dei dubbi, non esitate a seguire. Buona giornata. Liliane Teng [MSFT] MSDN Community Help | Feedback per noi ottenere o Campione codice da Microsoft Ricordatevi di segnare le risposte come risposte se aiutano e li deselezionare se prevedono alcun aiuto. Giovedi, 25 mese di agosto, 2011 03:41 Grazie per il feedback. Ho provato il suggerimento che lei ha presentato e ha funzionato bene per il primo paragrafo del documento. Tuttavia, se ci sono più punti nel documento selezione gamma parte nel primo paragrafo e non nel paragrafo corrente. Vedere il testo esempio di output. Incontro tes minu per: Altre cose GO verno: VoteLynx - Città di Mesa Di seguito sono riportati i frammenti di codice che ha generato l'output sopra. Private Sub ReportsDocument_HeaderData_Add () Dim HeaderText come stringa = & quot; & quot; HeaderText = & quot; minuti di incontro per: & quot; & Amp; & Quot; altre cose & quot; Dim DocPara Come parola. Paragrafo = WordDoc. Content. Paragraphs. Add DocPara. Range. Font. Bold = PageHeaderPrefs. FontBold FontStyle. Bold ' Dim ParaRng Come parola. Gamma ParaRng = WordDoc. Range (Inizio: = HeaderText. IndexOf (& quot;: & quot;) + 2, PageHeaderGovBodyPrefs. FontBold ParaRng. Font. Bold = FontStyle. Regular ' Private Sub ReportsDocument_GovernmentData_Add () Dim HeaderText come stringa = & quot; & quot; HeaderText = & quot; GOVERNO: & quot; & Amp; AppPrefs. GovernmentName Dim DocPara Come parola. Paragrafo = WordDoc. Content. Paragraphs. Add DocPara. Range. Font. Bold = PageHeaderGovBodyPrefs. FontBold FontStyle. Bold ' Se si aggiungono più paragrafi, quando si imposta Inizio: = HeaderText. IndexOf (& quot;: & quot;) + 2, questa posizione è relativa all'intero documento, non il paragrafo corrente. Così, quando si impostano le partenze di selezione gamma e le estremità, si prega di ricordare di aggiungere la posizione di punto di partenza corrente. Si prega di provare qui di seguito il codice: Se avete dei dubbi, non esitate a seguire. Buona giornata. Liliane Teng [MSFT] MSDN Community Help | Feedback per noi ottenere o Campione codice da Microsoft Ricordatevi di segnare le risposte come risposte se aiutano e li deselezionare se prevedono alcun aiuto. Contrassegnato come risposta da ROberholz Martedì 30 Agosto 2011 16:29 Martedì 30 Agosto 2011 03:24 Questo ha funzionato. Grazie per il feedback. Martedì 30 Agosto 2011 04:29 Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione del sito Web MSDN. Se si sceglie di partecipare, il sondaggio on-line sarà presentato a voi quando si lascia il sito Web MSDN. Ti piacerebbe partecipare? Aiutaci a migliorare MSDN. Visita la nostra pagina UserVoice a presentare e votare le idee!




No comments:

Post a Comment