I have a similar recipe with broccoli but did not have that available one night so used cabbage and we liked it even better than with the broccoli. You can use broccoli if you like it better than cabbage!
Cook Minute Rice according to package instructions. One cup will make 2 cups cooked.
Cook cabbage until tender, drain
Grease 9 x 13 inch casserole. Put rice in bottom and spread it out. Put cooked cabbage on top of rice and evenly distribute it.
In a bowl combine 2 tablespoons of the butter and the bread crumbs and set aside. I use sliced bread that is getting stale and tear it up into small pieces rather than the fine bread crumbs.
In a frying pan cook onions in remaining butter and olive oil until soft. Stir in flour, salt and pepper stirring constantly. It will quickly form a paste like product on the onions. Stir in the milk and continue cooking and stirring until mixture thickens and boils for 1 minute. Add ham and heat 1 minute more.
Pour over the top of the cabbage and spread it out evenly. Cover with the swiss cheese. Top with the bread crumbs and bake at 350° for 30 - 45 minutes until it is bubbly and the bread is starting to brown a bit.