Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

border.weight - spessori bordi celle in vba

841 views
Skip to first unread message

jacopo

unread,
Apr 4, 2005, 9:59:06 AM4/4/05
to
Per motivi grafici ho la necessita' di settare come spessore minimo del bordo
celle,
uno spessore che sia inferiore al minimo previsto dalla form "formato celle"

Mi spiego piu' dettagliatamente:

da excel
tasto di dx su una cella\formato cella\bordo\..in -linea stile- tra le tre
linee continue la piu' fine e' di circa un punto. avrei bisogno di creare un
bordo di circa 1/4 di punto come e' possibile fare per le linee, cerchi o
bordi dei grafici o immagini.

Interagendo con vba
"With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = 1
.ColorIndex = 3
End With"
quello di weight indica lo spessore, e' un valore long, il minimo e' 1.
avrei bisogno fosse 0.25

forse bisognerebbe modificare i file *.brd di office ma non so come

La mia societa' non mi permette di avere il supporto tecnico.
Ce la devo fare.
Arduo! Ringrazio di cuore chi prova ad aiutarmi!

Jacopo

Mauro Gamberini

unread,
Apr 4, 2005, 10:14:53 AM4/4/05
to
> "With Selection.Borders(xlEdgeBottom)
> .LineStyle = xlContinuous
> .Weight = 1
> .ColorIndex = 3
>

.Weight = xlThin

Non è sufficiente?

--
----------------------------
Mauro Gamberini


jacopo

unread,
Apr 4, 2005, 10:41:02 AM4/4/05
to
Ciao Mauro!
Grazie per l'interessamento.

xlthin identifica il valore long 1, quello minimo di default
2= xlmedium
3=xlthick

xlthin corrisponde circa allo spessore di 1 punto.
io avrei bisogno di spessori di almeno 0.25 (1/4) punto, come e' possibile
fare con linee, e bordi grafici, immagini etc.

Le proprita' relative alla cella non me lo permettono, come utilizzatore di
excel o vba. ma sono certo che essendo pura formattazione grafica e'
possibile farlo, esistono file *.brd di office ma non so come e dove
modificarli.il problema e' riuscire ad associare la proprieta'
"Line.Weight = 0.25"
alle celle e non solo aale linee.

la differenza reale degli spessori la si vede quando il file xls viene
convertito in pdf, li le linee sono bitmap e non piu' elementi vettoriali
come in xls (ovvero vedi le dimensioni reali della linea, che nel caso di
xlthin e' quasi spessa come un normale carattere di font, troppo per il
lavoro che devo intraprendere)

Se hai qulche idea, ti prego dimmela

Grazie ancora


"Mauro Gamberini" ha scritto:

Mauro Gamberini

unread,
Apr 4, 2005, 11:29:13 AM4/4/05
to
> xlthin identifica il valore long 1, quello minimo di default
> 2= xlmedium
> 3=xlthick
>
[cut]

Non posso aiutarti, mi spiace.
Da quello che mi sembra di capire,
.Weight si aspetta delle costanti
che restituiscono dei valori precisi,
come hai già visto anche tu.

Come fare per costringere .Weight ad accettare
0.25, non lo so e mi verrebbe da aggiungere
non credo sia possibile.

Aspettiamo e vediamo se qualcuno ha una risposta.

--
----------------------------
Mauro Gamberini


Tiziano Marmiroli

unread,
Apr 5, 2005, 7:34:53 PM4/5/05
to
Il Mon, 4 Apr 2005 06:59:06 -0700, jacopo ha scritto:

> Per motivi grafici ho la necessita' di settare come spessore minimo del bordo
> celle, uno spessore che sia inferiore al minimo previsto dalla form "formato celle"

Quello che puoi fare (e in VBA non dovrebbe essere complicato) e
sostituire la griglia con linee.

--
Tiziano Marmiroli
Microsoft MVP - Office System

Tiziano Marmiroli

unread,
Apr 5, 2005, 7:32:53 PM4/5/05
to
Il Mon, 4 Apr 2005 07:41:02 -0700, jacopo ha scritto:

> xlthin identifica il valore long 1, quello minimo di default
> 2= xlmedium
> 3=xlthick
>
> xlthin corrisponde circa allo spessore di 1 punto.
> io avrei bisogno di spessori di almeno 0.25 (1/4) punto, come e' possibile
> fare con linee, e bordi grafici, immagini etc.
>
> Le proprita' relative alla cella non me lo permettono, come utilizzatore di
> excel o vba.

Appunto: fine dei discorsi! :-)

> ma sono certo che essendo pura formattazione grafica e'
> possibile farlo, esistono file *.brd di office

Non so cosa siano i file .brd, credo sia roba di Publisher.

Tiziano Marmiroli

unread,
Apr 5, 2005, 7:39:44 PM4/5/05
to
Il Mon, 4 Apr 2005 06:59:06 -0700, jacopo ha scritto:

> Per motivi grafici ho la necessita' di settare come spessore minimo del bordo
> celle, uno spessore che sia inferiore al minimo previsto dalla form "formato celle"

Incollare in Word non ti va bene?

jacopo

unread,
Apr 6, 2005, 5:57:01 AM4/6/05
to
Ciao Tiziano,
grazie per l'interessamento. Devo utilizzare necessariamente oggetti excel
come OLE(object linked embedding) in altre applicazioni, perche' tutti i
database cui sono collegati sono appunto in excel. Questo per confermare il
fatto che devo utilizzare necessariamente celle di excel.Io penso... se e'
possibile applicare lo spessore di varie dimensioni alle linee e bordi di
immagini e grafici e' possibile farlo anche alle celle.e' solo una questione
di associazione di proprieta'. se per fare cio' si deve agire sul codice
sorgente..allora stop. se ,come penso io, e' possibile agire su qualche altra
impostazione, tipo file *.brd che sono riferimenti di formattazione office..o
altro...allora la possibilita' c'e'.io non mollo. Se ti viene qualche idea,
scrivi.anche improbabile.idea crea idea. Ciao e Grazie collega MVP

Jacopo

"Tiziano Marmiroli" ha scritto:

Mauro Gamberini

unread,
Apr 6, 2005, 8:42:03 AM4/6/05
to
> grazie per l'interessamento. Devo utilizzare necessariamente oggetti
excel
> come OLE(object linked embedding) in altre applicazioni, perche' tutti i
> database cui sono collegati sono appunto in excel. Questo per confermare
il
> fatto che devo utilizzare necessariamente celle di excel.Io penso... se e'
> possibile applicare lo spessore di varie dimensioni alle linee e bordi di
> immagini e grafici e' possibile farlo anche alle celle.e' solo una
questione
> di associazione di proprieta'. se per fare cio' si deve agire sul codice
> sorgente..allora stop. se ,come penso io, e' possibile agire su qualche
altra
> impostazione, tipo file *.brd che sono riferimenti di formattazione
office..o
> altro...allora la possibilita' c'e'.io non mollo.
>

Forse non sono capente io, ma:

questo mi dice la guida di vba la proprietà weight
del(i) border(s) delle celle di Excel:
La proprietà Weight applicata agli oggetti Border e Borders.

Restituisce o imposta lo spessore del bordo. Proprietà di tipo
XlBorderWeight di lettura-scrittura.

XlBorderWeight può essere una delle seguenti costanti XlBorderWeight.
xlHairline
xlThin
xlMedium
xlThick


espressione.Weight

espressione Argomento necessario. Un'espressione che restituisce uno degli
oggetti elencati in precedenza.

questo invece riguarda LineFormat:

La proprietà Weight applicata all'oggetto LineFormat.

Restituisce o imposta lo spessore della linea. Proprietà di tipo Single di
lettura-scrittura.

espressione.Weight

espressione Argomento necessario. Un'espressione che restituisce uno degli
oggetti elencati in precedenza.

Da quello che credo di capire, Range non ha nessuna proprietà LineFormat

(o Line e poi vediamo il perchè).

Digita Range. e scorri metodi e proprietà.

Ha invece il suo bravo Borders.

Se mi disegni una shape e poi in vba digiti:
tuoFoglio.Shapes(index).
ecco che puoi lavorare con Line(LineFormat) e qui
puoi settare un Single e non una costante e quindi
decidi tu lo spessore.

--
----------------------------
Mauro Gamberini

bluedrop.gif

Mauro Gamberini

unread,
Apr 6, 2005, 8:48:34 AM4/6/05
to
[cut]
Chiedo scusa a tutti per eventuali allegati che
accompagnano il mio post precedente e che sono frutto
del copia/incolla dalla guida vba di Excel.

--
----------------------------
Mauro Gamberini


Tiziano Marmiroli

unread,
Apr 6, 2005, 9:20:39 AM4/6/05
to
Il Wed, 6 Apr 2005 02:57:01 -0700, jacopo ha scritto:

> Ciao Tiziano,
> grazie per l'interessamento. Devo utilizzare necessariamente oggetti excel
> come OLE(object linked embedding) in altre applicazioni, perche' tutti i
> database cui sono collegati sono appunto in excel. Questo per confermare il
> fatto che devo utilizzare necessariamente celle di excel.Io penso... se e'
> possibile applicare lo spessore di varie dimensioni alle linee e bordi di
> immagini e grafici e' possibile farlo anche alle celle.e' solo una questione
> di associazione di proprieta'. se per fare cio' si deve agire sul codice
> sorgente..allora stop.

Appunto, stop! :-)))

> se ,come penso io, e' possibile agire su qualche altra
> impostazione, tipo file *.brd che sono riferimenti di formattazione office..o
> altro...allora la possibilita' c'e'.io non mollo. Se ti viene qualche idea,
> scrivi.

L'ho gią fatto. Puoi disattivare la griglia e disegnare le righe da 1/4
tramite vba.

0 new messages