Как програма за скриване колони в 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 ви благодаря, тя работи.