Steyn, who turns 34 on June 27, has been stuck on 417 Test wickets – four short of Shaun Pollock's national record – since suffering a stress fracture of the shoulder during a Test against Australia last November.
The fast bowler had been included in a South Africa A squad to tour England in June in what was seen as a fitness test ahead of the four-match Test series.
But he told journalists in Johannesburg that his recovery has been slower than he hoped and will not be able to join the A team or to play in the Tests.
"I am able to do a lot of things – running, hiking, gym work. But bowling is not one of them," he said.
Steyn said he aims to play in two home Tests against Bangladesh in September and hopes to prove his fitness by returning to action when South Africa A play matches against Australia A and India A in August.
It has been a frustrating two years for Steyn, who has only played in five of South Africa's most recent 16 Tests, breaking down in three of them, first with a groin strain and twice because of shoulder problems.
During that period he has taken only 15 wickets after looking set to soar past Pollock on the all-time list.
Vernon Philander, Steyn's long-time new ball partner, has also had injury problems.
He has a contract with English county Sussex, but returned to South Africa last month for treatment on a groin injury.
But the county expect him to return to action in a championship match against Durham starting Sunday.