ПредишенСледващото

Как програма за скриване колони в Excel?

Въпрос: как да се програмно от Delphi скрий колони в Excel-файл?
Всички сложността е, че колоните не могат да бъдат достъпни от броя, като низ. Или, ако е възможно, да ми кажете как.
Пример крие редове 20 до 30 в Excel:
Ex.Rows [ "20:30"] Изберете .;
Ex.Selection.EntireRow.Hidden: = True;

Ще бъда много благодарен, ако колоните пишат нещо подобно.

Можете да опитате да се обърнат буквите ;-)

Тъкмо във формирането на доклада, че е необходимо да се скрие 4-те колони на всеки три цикъла. и как да ги за правописа на контакта.

"
Колони ( "A: C") Избор.
Selection.EntireColumn.Hidden = True
End Sub

чрез писма и така е ясно, че можеш, но имам само номерата на колоните на контакт.


> Изграждане на дърво (02/11/04 11:02) [4]
> Чрез писма и така е ясно, че можеш, но имам само една
> Цифри се отнасят до колоните.

О, какво са готини желание: - |
И номерата на писма преведени все още не са се научили?

Направих този превод, но е неудобно и kosyachit в някои колони (особено когато има стълбове с две букви). Знам само, че можете да по някакъв начин да го направи чрез числата. но това е само това, което?

нишка като този.
функция ColNumberToColName (ColNumber: Word): низ;
конст
CharCount = РСР ( "Z") - РСР ( "А") + 1;
започвам
ако ColNumber <= CharCount then
Резултати: = Чар (РСР ( "А") + ColNumber - 1)
още
Резултати: = Чар (РСР ( "А") + ColNumber DIV CharCount - 1) + Чар (РСР ( "А") + ColNumber мод CharCount - 1)
край

jack128 - не само чрез числата. команда трябва да бъде нещо подобно на това:
WorkBook.WorkSheets [1] .Range [WorkBook.WorkSheets [1] .Cells [y1, x1] WorkBook.WorkSheets [1] .Cells [y2, x2]];
(Той съчетава клетка. Първата мисъл, също така, че на фигурите не може да направи това, тъй като е възможно, също така и с графи трябва да са)

Но по дяволите. в една и съща площадка, където пишете Ex.Rows също има колони собственост [], за когото винаги съм се обжалва чрез цифрите, това е Ex.Columns [1], Ex.Columns [2], и т.н.

Е, може би този код на автостоп?
RangeName: низ;
защото: = 1 до 50 направи
CelRangeName: = ColNumberToColName (I * 7) + ":" + ColNumberToColName (I * 7 + 2) + ",";

SetLength (RangeName, Дължина (RangeName) - 1);
Ex.Range (RangeName) .EntireColumn.Hidden = True;

Чрез цифрите са още по възможно най-много:

olookin: но като например с м н избера?

Така че, както писах - не можете да промените ширината на колона. Тя трябва да бъде по този начин:

С м п разбира линия

защото: = 1 до 10 // винаги започва с 1 или повече стойности на I
Excel.Workbooks [BookIndex] .Sheets [SheetIndex] .Columns [Ь] .ColumnWidth: =
MyColumnValue;

Или поне така, т.е. цикъл на свободно, т.е. по-бързо

V: Вариант;
V: = Excel.Workbooks [BookIndex] .Sheets [SheetIndex];
// промените ширината на първия до петия стълб
V.Range [V.Cells [1,1], V.Cells [1,5]] ColumnWidth: = 5 ;.

Или е: кожи от първия до петата колона
V: = Excel.Workbooks [BookIndex] .Sheets [SheetIndex];
V.Range [V.Cells [1,1], V.Cells [1,5]] EntireColumn.Hidden: = истински ;.

olookin ви благодаря, тя работи.

Подкрепете проекта - споделете линка, благодаря!