The violence erupted during a stand-off between supporters and opponents of Prime Minister Yingluck Shinawatra.
The shots were fired as demonstrators blockaded a building where ballot papers are being stored, in an attempt to prevent their distribution.
Protesters want the government replaced by an unelected "people's council".
The opposition has vowed to boycott Sunday's poll, which is likely to be won by Ms Yingluck.
Demonstrators accuse the prime minister of being under the control of her brother, ousted former leader Thaksin Shinawatra, who lives in self-imposed exile.