William Macgregor (23 February 1888 – 5 October 1980) was an Australian cricketer and veterinarian.
A wicket-keeper, Macgregor played four games of first-class cricket for the Australian cricket team in New Zealand in 1913–14, including one against New Zealand.
He never played first-class cricket in Australia.
Apart from this tour, his cricket career consisted of several seasons with University in the Melbourne competition.
He graduated from the University of Melbourne as a Licentiate in Veterinary Science in 1915.
He served with the Australian Army Veterinary Corps as a captain in World War One, leaving Australia in November 1915 and returning in January 1919.