#! /usr/bin/env python
# -*- coding: utf-8 -*-
import datetime
from datetime import *
import clr
import os, sys
clr.AddReference("RevitAPI")
import Autodesk
from Autodesk.Revit.DB import *
from Autodesk.Revit import ApplicationServices
clr.AddReference('System')
import System
from System.Collections.Generic import *
from System import Byte
uidoc = __revit__.ActiveUIDocument
doc = uidoc.Document
app = __revit__.Application
printManager = doc.PrintManager
schedule = FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_Schedules).WhereElementIsNotElementType().ToElements()
schedule = [x for x in schedule if x.ViewSpecific is False and x.IsTemplate is False]
color = Autodesk.Revit.DB.Color(System.Byte.Parse(str(255)), System.Byte.Parse(str(255)), System.Byte.Parse(str(255)))
transaction = Transaction(doc)
transaction.Start("-")
for x in schedule:
tb = x.GetTableData().GetSectionData(SectionType.Body)
columns = tb.NumberOfColumns
rows = tb.NumberOfRows
fr = tb.FirstRowNumber
fc = tb.FirstColumnNumber
for r in range(fr, rows):
for c in range(fc, columns):
if tb.IsValidColumnNumber(c) and tb.IsValidRowNumber(r) and tb.AllowOverrideCellStyle(r,c):
style = tb.GetTableCellStyle(r,c)
style.BackgroundColor = color
tb.SetCellStyle(r,c,style)
tb.RefreshData()
transaction.Commit()